{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "24df2fa6",
   "metadata": {},
   "source": [
    "决策树算法算是一类算法，这类算法逻辑模型以“树形结构”呈现，因此它比较容易理解，并不是很复杂，我们可以清楚的掌握分类过程中的每一个细节。"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "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"
    },
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnoAAACNCAIAAACvwEDTAAAgAElEQVR4Ae1du44VORPuZ0CaHMSkCCQiTjDSBKRoBRoRbH5ENhESCSH50YpgJN6C4PAAG26yyUZH/7PMr6rypcouu93udp8exiPEcftStr+ui12+9DD0v45AR6Aj0BHoCHQEWiLw9z//A/J//viv/5uKwDAMf/37R/83FYGO21TEKH/HrQ63VKmOZwqZfHzHLY9PKnUYhvv7+25uK4cane1SjJWP77jl8UmldtxSyNTFdzw7bnUI1JXq5rbS0NI8uItrNdvVFXzkpTq/LcsAHc86PDtu1bj12W29xe1sV812dQUfeanOb8syQMezDs+OWzVu3dw+RHP75v3Lp++/v61761Dq54vdh6effp5n4fk3EVfA8MWaGP4muPHtDoDhm688ZsXwb4jnKuitidvXz093nxUO+fr56bPzcU6d4l3Rmfzty+XVzdi/VxdXd+8W2rT17vbm8uOvqbufJuVfk+3kC377/uXw7PMMc/vvH18/PxmGYff9DBZ3Zdy+fn/xCdXQpw9Pdh+eRv+ePHv5okbj/3zxbF0AV8aNxmQRXAGAT6Zovbcxzp8+DEMd/rNNyxp44rh2DoZfPz959tJi/vLJblTqv79433gYvQZu9uUCewxPdtHUAtXXk+qefv0cDpRBOUS1SK07V1WuaG4LjOj11TA8/5Iyt+8+vrp4PmqwXYZXtJ378rZ+8jpqetdkO/niwdyqlvLTh6dkWmR+lVHe7GJr8f3F+/YGuDVunz4Mz5hZfTYYhQ7xsbb6/nQY4ol+aBi+xioMzK0Q+K/txbXgtarvulVk3liCqWAvYvdSs6wAI2Pa72+KGXhup1rzYeHLGsVw+PCGSCFjm7Ah/vPFs5diEPlMBdlar8Im5bOtiBvoKNd93iowt7lR2ttPn+0YhXOgCcNMA6TewYJD5yzBucz2179/nMPcfvty+fzm+ls87/z1+vlwkZ6Pvvv4KjDG11cif/A4aiznZ2jMdjmOeTYMfszr+QnZ6CVjI+Snr9/BdRz/ezZIbfjhCVgmGEsuwFtcNoJwY9z+AP1lNdRf//qhSdLcxnKLppQh9mQAyxq8EYDLm5OXzb0FrXELXpN//Pli9/Lpp5+xN2XEywI60b8IcKjAcOfnm/eCG58MzGC4sZGv3enEpQOr4rkEhpaB3376bP0x0ZjP5mkowuvhhlZQVUdj5tZ1X7IoEAzVI6mIZ4xRG/HeecztxTBobl4wt7nJ6O3NIzO3f/z1bzjHsnzgTYiNceyVD7z99F1dCAFz0tqX4praWlwXMrdeLJnZ4G/kzY7Nbr8q1ij/LiantsbNvaAwQFovdgywoUxYhMZ5qrmFrQNgub8KVpRqcWnLqjZvVTyXwNCb0u9PzVQMyAoXi8/TDMPVcIts6lvnZIqSUtIk+Uozt1JdpOgsEH8Oc3t7Mww314pv+e5yePX6W9r3G5rbcDb8281uMy9YMbduhVLVLD4SBDXwnQI1PgvxmdtIbGtxlfLjsdI1kdNcvLNSLL25FTMzPrulqW08/8u8xMlJrXFLvnfyt3N8TFgMOOLiHjfMb2a3jg43FRLwmFSLmFXxXAJDz8AAFy4nYcC7WD48fTZ7V8co1GvhhnqJeT5gMcLOCpYyt7jeIf3zjj+XDpzB3MY+YePU/fblQjfD1gA/VnMLe/OE8w0eI2dytBqR5BViYuuMwl3KlXuFklWMGJLW4poxt4PbdeIgfaktAkntL82Gs6kjxmZUbU3N0Bq3VHuSqk2iFBeXuFln8r9/WE8AsKJZTf/+VPUZxjQXjFkTz1kYWpPDTCmcTcClx5AJvUmuFc9RhFfCDbgrnLjjmg6olySeYa8Zj5Gu487k70/Ht56FBEeUWwa9M5hb2A91daesm4bW1FpZNw8OM4TO5992dvuTOzBzL9tqsVwew6lsoeLrZ8HTf/37B27SGyGS4arRpNbiCubWaigampAq1zVRcnbLFrb12X+o6cD5H++oWlRcR7FtkUEOXxhjqNCx/qJOZBt5DIxv37u3YwNsvw8tk7NaGMFle9eaD3lrZ2FopVVj4JAJtTwLg7kObhFiOE+wUMw1tz/fvP/8Qp6lfPv+A5uENOC69c0t2EjV3MKsVzXD3dyi+zee4EYxMMENdt6qM+OgINN0OI0Gj03bDVOtxRVE0YrljK1S4dptBCZ3JjvowrEL17kzw61xSzRPqDmeR+Ks6HSbwZgEAPD7279gMy3Ta9/f8E1Y5NyLzwvxepcKr4jnfAwBXs2U/q7mNuwXsA2b7AJrDTCSkybTMCHfHIqb75yDEEo9Q++gmygTOyFBWFNrx3vnMbfq9uNg1vvuNtq6HM5uw7Xe33Z2q6z6gPSGzjfJjk4lteMeV8XUQGs1Z7U8yZ7HCme9TvBsAHYUe8tq+iLdpI5gBsym81pqVWvcEu8RAAyGcZQzmH+kz0Fx1RkZHhxN2iMZb94rG7IUQ55o6rScK+JZj6HjvbS5Zdvjf5e1W+z1091L2L9JQgcxbJRmH99++oB2V7sKA5lEIi/l2nHRV9CxOpO7PPMDa5tbmMIOg3p89mIYBn+sFrMFk93A3EZrvd3c8tGfxhxjTulir7VGfIKma63muIZSZ7f+HMW/f/z1XbueRoolI4jS69Z9fWANF2hr3NTXCn3XT53BBgK2Fo7ZvFMB+OHTZzo+5M2tMij5/pS5IiZwkdraSZGr4TkHQ8Z7NLulY1SO3zy21HfY7w2eUrfDYHlI2+P2Bg6ewVIrnrsFKyutply7JWMJO0AVDzAU9DMTKdeGW8DWNnRKOZ5c29z++ePX9ceCe6PU3cuBub29CZzP3dyOmFtgNbaQ5k2FmeetduSxtbhyDaWa27/Cm3fe7IJlGymWjKCUXivemIE5SG28k7RFAq1xSzTy7afk1IGpcsUH45yfoDRx96w1EuBPZt4Fu4K7g5lKsG2eVbE0qiviWY8hsJbFx2+V8qvmxtx+tbNAc4o0PH2wJIytcfv04am/Lor4CnWXj5TmFg+VwfTUm1XPKvIyHynXVPBZS6y4TK1vbqMNUG5plgcCy0pJMvL6KjykG5nbu9fpSzOUvVq8AWXh1mxnXhUOvvhef21n8lNUVdkxWsSynBWMlLYcFLvqWuPGNZS+VernC7Yj8Q0eMBhYDNwpLe4A8VulMua2+XGC1ri5F1QT8AbAa3a71hjOwBBeOxfhs1uNSE1jvLb1jYnpbA5PrftsqOeGL+CSsZ5Vhy3MCN//fPue26oyHGJk8jFtcYsutvv6822wbKHuTBZG2nU8UHrC3L79BLeeNVysDWDclrl99/GGzt3qh4WEub27jE4N/c7mli1aBK/QP/6EKZrmTnEax0mmi+GB0F3jKTveXSjQVlxp5Ou9mt5AWu0P94e8p9su4a4f7X4PIZb81AGi5GZmzkPg7TGHdOFwa9wq3vjXz2YigkOccH5vAY8Yj8P76M1tGYbASxZP1dz+8de/MHB8VuKKmCfIa/NhYDKx8Sq/KQzsxyUojJ7xUAME5wjQ6ZJVobMkehVz++3u9fjHCW4ur+iW45vrb/8F26bMTJSZW7g/OZq5hub225eLYPW3bM5aPvFdh+1KGWtchCKtJ4r8PuZWjoVVc0tLtvrHRkBovViCgLFX4Klx2YYM3sDPkklONgivw2/Y/eCeRev4dcMLE7CnvX+CJYgRsOYhYjwO7+9qbsWNKCkAySmF9/eOYAhMZfHUzO3PN7hH1y12tmJCuvs34MyWj7peYiKZ62nIlpzxhPbDwQqeyHj2uZWbahVzC0Yu2macs3zhdVGRub271L5kEBjpd7AA/Ooy3uGcq7rM120prKP+vIyF/JHjM00A3BKaLvxwdcZv4UyWMuYNpEQSTn/y1SCBmBRLJtso/I9idjtpr42uEy3g3tyaixs5vL+ruQVpnY+h596MuYWjfU5yAdu2gryO3iN5ZKIn1F0qXkhxfMkoZzyhTmmY0nbfwGrmdpIZu7scwnVZsLh2dnt9pd4B+d+ft19gezP/e2680+UT1kk5V2E7r6okJwnmK0vKk9I1ZhnlaY1pjVuZucUpQmpjDoilvObC+POF+nPggPD/TrNboYlKXq7ckGKLk7n9SgYAv9BsTlJxrfc7m9sS6FweFcM3O3ZKzQ5f2OwWNnaEfoXwskz7Ohy7zgy0ll/fvLR3t8jcBp7kyGtlKvqJuzdKFuzmIblJcwsnfLTLk8ncfru7ztyrbOedk6xmdeY12I4ro3kvG5Z2cvvdfy9zazdzqlul8KQEbJEAwzw8UU7Kc3vwCJ3JUzkNRyeBq+Dr9xfwMTjYkxx+W1T46onDQeWha7r9qMVp8zXktxxJDUMAipkBxdwCD+d3bDhzvlhgJdzI1gbLqxbPAnOLl5cFHzeTcg2cADHDOhumtmFuv91dfvxyffsLv3T7C3zCmq/YzW6LreOv11fJr+cWE8nNy9uz3Vt7M+oSomIYS/ckm93OziVl2drppgUDrXHLzW4/wN4o5jOHQQb8BR+YC8TSn0gWs1t3a+ajm93+fLP7/OKTOXyCG0eZVTCsAl9WT237ZLddsinIlK81LyARrflwRGRKMLRXSX8FDnz7Hj/Y/PX702cvX3yCrZHqVxEXQCbf8hVwgz4GZ/OkRho3t3iePuyIPK6GSOr3UoUFZe11qdswtzAl/XWNN2Cg5tM8yT/+u4a9VK8ui3Zd4UfmnyMx1XIvNAluzXb61vbqFw8mJL1aGR0kr2OpklLtcRNrV/ZqBWNZo+8MorWgGxvcaOPnW36zIOuUMLf46VbaLiRqZPmX1H2tcZvYbDhHQQKbOPJY1ndmbic2oIx+Wl42gOcIhm788RW20APYu89cit++xzuV7CHmF5/4l62bbVFujBt+Vfr7yLL3mLmNTtITG/x884mmy7CR7cmuGUQqJ2/H3MIk8vrq1cXzm9epzU3fvlw23mk8dcrblO3c8QD1zdVEwmwjPKrB6KxxYo+qa4ob61Gkju1cIc4jv70aFfQq+y1oQOngGh2Jx9XVxZwNN9/9EJlPH548w0XZuh7Rru92e0HzrdoInmkM33zivlB3WDz4svJP+No8eKdePvH/Wvrk2+LmPUkhs/G3+fXz0wzbqF/1dsXh7u51DS1VvS1zO9XanT1/W7ZL6zjHNw800HGre3EdtzrcUqU6nilk8vEdtzw+qdRubnNLs6PmvLNdirHy8R23PD6p1I5bCpm6+I5nx60OgbpS3ty6NZge6Ah0BDoCHYGOQEdgcQT+/ud/QHN0JtczxAjQaOW+/01EoOM2ETCTveNWh1uqVMczhUw+vuOWxyeVSrh1c1vpUu5sl2KsfHzHLY9PKrXjlkKmLr7j2XGrQ6CuFPFbN7fd3NbxT2WprubqgOu41eGWKtXxTCGTj++45fFJpRJu3dx2c5vikCbxXVzrYO241eGWKtXxTCGTj++45fFJpRJu3dw+OHN7Ouz3x9PJvNfTEZ5SL1mNP+53+8PEMiqhmsgHJK4nB7La0dNhv5sKvUqoKPKB4Aa85ZmzqGfnybQlPI+HHGjH4/E8EKm1VuKWFyW1pmUiNSEmDTqJ/umoacwJmpRw6+Z2w+ZWf5unw24Y9lYE4WnnngpZCEnsDtOsdCHtkWyV4jpCtToZzUOq9HG/y4AEIE4FPlXTePzGcEs1+LiH24/OwlmpJunxW8ITQdNZCSUVxP0csqohl8XtdNjt9uxvZzXTcT+IBJ9nnFXQOGpNcXGZHMSPEj4TN16zqwACUGq3F4UwSjPDoiA9EG7d3G7Y3NI7DnW6VPPySXnPehTwv2Adk+10KGQfnex4bFZcx4uP5zgdD16Yx0I74P/0cAUFU9eD9/eVyI/3QM3RHDe11smRgFgKsMnEWhbYEp5J0MjY7hqL5CSYs7hJkaBu4TiBqRuWB7vH1ZAmuySi+0NarE0OOwHh3YEm8Aqs2dRUHy+nhgNiMLZgdE7HY25MRLht2ty+u725jL4kH5/JOUtMlu3Ut1UViRwp9Rfj1/u80odRX/JPHW1azm03ll4FN6X5gBqXjrK3wdREXOC4F5alrb9sFdziPk6NSVqOqYRa598SnjpoZIzkxKw1KuP0s7hJ1cSEhwVZHhZ0FRspgqS0uOqAORouEOUDEynJHtPzi0h97sCR6P52YiZvNaerOwgQbhs2t/AxvmHY2FXJzrRn2S6AetbjicZMJzd2kkzqn7RVinvF8KitaWsrWJWr4cbqhGBefoPM4aOFFqWVydvAJG4XjaNDKrOez4XbxEZHCm5i+dWybwlPBTRg14y9WQ2mqKIsbl4ZQTlmY1mQ5WHBsB4FEp/luBcm00qnz0AhIM8znmhjgZ4tNzMNSrDOBCmZR8Jtu+b2HX0mqOVXfZztrAhk2S4De2USOHmtOwUE0Y+yzBOOruQ0WFQFPOIMRRRA2da8MYLGEg8r4+aanJVflwsC0aB2D9ii3EoBFrPbKhkU9eYfzoVbvlVRajnMUdF1I7aEZwgasdkEA7AidFncpP1kIsGCLA8LBj0IEYFkvzAs55UgnnaNmJMhFM1843iAqenhqP7B0GbCGgjrjK0PdlLZsP5LuG3X3F5f3Vzf3gzq1+YX+ohehZV1RbJspyNeHhsNw44HXCXAOahkUvmUrkJjYJdbYSCXtnCgKW6Ztmb7H5YTc31A2HqNBVDd3CJugIlzeTKYTwcXG+K7gedz8aHWdQYaGpVNLdYGDc7ihhbOjerRwJG5Y3LDFBYLylo4IC4llZvRdnnjNVrY9rjbw6TleLJ/PjvQtjLuY+/vtcXk/Q7tO5+yoLnmE2lOg8KE22bN7d3l8y/v0J98eVu5m8mZxhaBLNvFaE+NgffPlBhZWyIi2U4+patROdhmT3CsTV7ytzFuqaYinmxjg8+XcDG5DAI4AVQ3t8ZJj1MDp1e92go2kzhItxA4Ex+qXbcsBof6tjxEgcZncZPKiAkLC7I8LChwsXhQpB378tzcf8xoMypAg3ZB8vU0oMHM4ul4sEu3frGOEYGgrd5H6xX6dDVEuG3V3H77cgGbpH69fr7R5dss26mAT4wEzjCa6yj2n3O2y2+V4jUC+zEXNB+b7WG8xpiQF1s83BS32A/s+okOYffkAzgwZfYi6LAE25wGMKUBNT6U93YmILLEY1Pc6huIXMp4R2pKWL+DwyBc49XXtWjJLeFpQOM2ROsrcPeIy1IrtmxcFjcpLcwssSDLw4K8kVJVkav4JDUdZjF8xWg7Kic4yRwl8FIs655mNsVMGtHltNQhvRumbNTcvvv4iia111fDsMnl2yzbOfznBCwzng7C2gYHUGyuRE1u0EZH6RO5juv5/VrjFg9Gsc+k0QAsZhsSaPhoys9UnJC0cHb7CM0twCq6TTh7BN1ZtmJlxss2DLfmw2zTAx8leifdwM0PBWWIBoZT2DfbhsrELG5SGTFhIUNH/QH7aTrrJhS8MZKnPBFOnLOZz2GpoLEVW7XQuWwGfsppeiAtd6ZlBu6KM9mOv2lCrVpcwm2b5vbX6+c317RAu9Xl2yzb2fe+xO/pEEgYZzs55our89sLpOhmnkAaVIaJqdfErIabaBxgtjuczI9ISj+g3O8OBzP6hYxCtB+9uUUtJSdcXA9aZBFHYZRtyhl/z8OHrMNs/CFBg12RLN/GglncpGpiwsKCrD84XWc4QBLyFBvC+ZKMOASdkvI5iLSbnvgEtmCE9F1ZrBFbAO9ARBcf6mAdygQJt22aW1y4JXO71eXbLNtlYJ+aFGx6NwzpdRxjQljZl8zrGa60WrOjIKBTWrog31q4iaZY8bS/IlF/MAMVFEEUUbQXAtDHbm4FGAZFaTkstGRwpTazaWf6PQsfJvoaggb3siaynj06ixvKl5umsyUqjVXUrhz3cKEFu67NlwTiBhchxz4HUjy5Oy9NAr9/AiXZzq3dZJvs7Jgv37YXK5cOR5uU+SXcNmlub29w4ZZ2SN1dbvL0bZbtMrBPS7KbTYT3iXlj9nvcBk8cjt4mr9OQtSyDYrWqo5VHuoHhtFZOyb0ObrJFiARIKkpKydTdbA13kmzfA46BrWvgca/dKj45sx9UsRXEi4IZ5Sta/ekcfJjqZGhuYcVbATFVfNX4LG7wmn3DnfQEXqF0e2FRK3DYeSKMuADM5wgIRwkk/mIkg4w5bXMB6oBYiXCrHjQEHgm3LZpbc+IWmmb/trd8m2U7Be6qKKvlsbCcuI7Tw213vBBym7UV9pd2IoxTWyrHKrjJxpKUARI+JHOIJxjaGGkKBVaWf8yz25RBEIqQwwoJgbeOJ68ePgMfJvuogEZbzJIlzpeQxQ3kY465pW4JKl4EfXQkhn6OwYHxRTGWlKl01SvIWwpihmO1JfziMi+PwDCtrPvOWzL2l3ADe9binMwMmr9eP3/1+ps//IPWV8TMIO7JziSSZTuLceWvfdOJZdTgG0ClThDV2GT4rbLxI8Va4qZXzboo5dRndxvKcOO/H6IEAnsvR7DC3HpibULr45bpR8CBLCcDm8VCMMQySF77cUt4qqBB5AY3dWdxk++YPbFg+KJj9eXtqnCX+GiJV5I2T/ATF+bBS6kD10SvCXwUjihgKqMkulxxgHDbnrn99uUimMtucvk2y3Yx2hUxwAxsrGgpYDRckOJeN+w4KHn5GndJzjV1xBJgK5//2x432UbUWhYdDQHILoe8ngAXWB9rQiliUcZFItbGLdNoPjgJs6n8FGbawvOG8MTjZcq86ARgbs3k5nADiWD9YNLDguHLjw0XCpZdAYZd24amUUuQbKNCYuLZVQrG0atLmHYgRZcuSuUfPH/DKrNTwflCkEq4bc/cioXb7S7f5thuHPyiHCo7CPPhyOixLpkCnlV8ghaXMj6+1IzQCrix1gXdS1lINuJlhUdmZCligsJiD+viVt3sAPBqOs0LbgnPGDTrRoEttaCiz/iB6uBN5HALFBZ7ZMGA3n28LwwEy1ntCBuIQOdxYERDukx6+fYUzAZzXbhlaoq9hIKyMfruhbgdGEO4bc7cXl8NbJ+U8f3C6dvBHg3awA2Of/74L8d2CcQnRivqHKI8Jwp6mJTlH8krprAWmTI+or7ah/a42Zbh5EAiokCKuRNu4VR2qiGfalux1O96uM1qscZPswi2KrwlPBloJzCw0rhak4tmF+8hjMxHK5AUuhnc7KzRlmI2lgVtqv0dPXrBp5Co5ZwpvkdowOPO81jC6eULxBg2Ok7aIxXUDdWQiimiQrhtytziHVLQIm5xfeSmLG6G7dz7nhXAtyusBY7JmFMkII8FEsaYGMPzqSuKki4HeQpbuezzA81xwyYapRVKoelaEE1OO+UT3pBdvAHR/XyqyLrAwzq41TUUVzPw+vdDeO1FHcEVSm0JTxJCsLPJaay1uUWqvSV8adyc3YSpOdxMzKQHwrrvFafvUsi047hk2zRxBNL6Nwo0Gw/bYuw9Z4QpPgUaIQIQs+rW2fsfDngbc1SWIgi3TZnbxfYxzdwGVVI8zXYJvKdGkxFwFhJe+JissVEyq81wGF+9YKmGW3CQ4/7b6aLBilUHV8DtsJfTA9bWE9xZof2pPeYKgxExwXxqnH9eTHPc5jXv5JF1LDuPYuPSG8ITxBb++H6Mxr2vJ5/ETdw0a0aw3oySUdQkDz3lI+YOlJ81kkrTEcCY7aS5NX6DcCZMNpfw19QGac8R1cuIpBbbCTeop8S69DwBAkm2U9hhflTpLYt8kxOsbez38BGMEWae37wJFJriBkd4FuwumJD0DT/51AmQFGVtiltRC8YzwYhQekrGy5wrx6bwLBhKnwunsN4EbvH2uVNo2EJKRc+oxGDamM99VKTeTpKBhPsSQYJMtA58wlKoTUaq9hTxQEmK/wm3bm4rp9QJtvPg95CKQMdNhWU0suM2CtGkDB3PSXC5zB03B8WkAOHWzW03t5PYZm7mLq51CHbc6nBLlep4ppDJx3fc8vikUgk3dFr3/zoCHYGOQEegI9ARaIbA3//8D2gHq5L9sQSBPspLjePy8R23PD6p1I5bCpm6+I5nx60OgbpSxG/d3HZnch3/VJbqaq4OuI5bHW6pUh3PFDL5+I5bHp9UKuHWzW03tykOaRLfxbUO1o5bHW6pUh3PFDL5+I5bHp9UKuHWzW03tykOaRLfxbUO1o5bHW6pUh3PFDL5+I5bHp9UKuHWze2DMbf+cB7e4qOdpoX7XFLveyPxD0hc+SFmBT04dzt28YhSrDLqQeCWZMzKTjcsthE8jwftboWG/Z5Lugw3uGEi+kadjai4rJhafYR7BDS9l+7UYkJKp3j5GdxpzE64dXP7gMytvVEQrmgJ7xPA209mf0Bk4mcu0myeTCkT12TxpRNwDJMimr+DHN/CaqObjeGmQ4Z3B/mrhPRM24jdBp7TAIvvklgfyzLc9PvtqLV4B1QlkyBeqYtqNTCgskUGxVizsPUUw6+1yI3PCbdubh+quTWK3o4jD8d42GfT7PePd3sYHmb+6ILDSlHQuD2OKxPXuFxxDN7tkumjSDIdji+Ao+oSt8NRIohbqmBxa4szNsetuCWZjABJU+7J1D0xaRN4Gh3Omg5TptQfMqvQ+KzgWsEy3CJzy66FitImNd1/uNYXgxug+LyTpaS/6eIzpUMn/2HnmLWDGHyXaYVAuHVzu0lzywyl+8Y8xBFXwZu1it7HxlzD01zY8qWPYNRiGkvHlInrzFptHxmZQDhYSi7oQNIyBd8RYhpFyz0zbhXcZrYRviRqeXQuqdblt4BnAFductQajmL6ZbjhpJK5k0GJ2YFCmbkFs8oIpIYgEE9jZqsQRU/K6qIiivzCCzIMLd4VZmUxdGcy9FAhQtQJt22Z23cfX0GDgr/nry4/3r3bxnf33JHcMrYT737Cg1fzGDrCqgV8aNkwIITw8QB3gSfnEzyNh7EhLgLYRuXVCe0tz9oWt3Q7mHCkM6VSrBRJHQAfcPEawQlmisi8+HPhNqnVs0CeVNPszBvAE9CyEqiDvacAACAASURBVG2sBn33fHbnGhIowy0wc+JRPAQt9dZK0Ur0YVD8LlpiMhtQC4d/JyvHoPtCAw5G244ILB3Gz/xlmaw4tgTVnPl6gqW02c/Lf/tyMQyXt27S+euabPDVnTN1WwiUsZ1De2LA2UL20UYfx1nRx8ZV8DQexpwuglOLaSwd0xa3dGtzQi5Lxf48EC8c0zDxo49N+2GKg1MSW+zpXLhN6oDERxTFjSWK10FkWvHh/Hhat2jMmd7ocECsreBx64fLcAv6JIQjSBNdsJjco6VE6TrB5wfsd3kgiLMDtmQU2kmWBBNfOSL2cuxFF1sgmmjbxPiZBU0qxMAWGsHUyZdEuMFEcgvWy7chNLdgdx/d5+X9y9dCxHH01n06PouXz9MozBY5XCKnhuweLwJb9lvgt0xcF6goIJET8iDr/b1AkcSKlsodaFBEOJNFSkRwfsS5cFNaHo9H3EwBBybuiQUgwQ5aFJLrR50dT/d52IgzgeGiyRe6TJN+rPXwy+HmD0YEfRLCIdNC+wSp0E2nlRANNpv1CcbOCeICiKCor9jR8NlVKowAC5pCcQzohNTREMLtYZhbdDLfXG/Jn5xjO/8Sa0P+5YuQlUIYVvmtUjaWHFLMH+XLom3YHeCrpKwgSS/nPeDIyKVS2wm1XFvc1CohUpUNzA3rLqETiZPxQkoW1qu8x2puOToynEZZ5tvA05n40PacHKP4JBgMYrhA2vzMy+WizhLI4AZjdbvaFUwrudccV8HscMI5jlxnjNJyIDCeQtPsEmwJruVsHP0GKf4xomH1oyzPY1kz7k+4RZzH2HLstdoo80u4PQxzC7Pb5182tXybYbsA6JpHzxlaiHOLS+eRpkqX5g3F6WDNsUtkBSPJr2l7vkxT3CrmXWbalRpjMHCgXwCQ1RSwmG7VC62s25FMHoG61Ka41TUpLgXwpLcSxPnPGLMdPCOhC3iOQHLiekbMoOokbtBqNwnIN9LPaPGoXeBNo1QPgpM5Ms1H2mriXcYghmz266v2JDCOPbKgza7ja2Px2/TA27v93n59F4gEHT4dzNzcUvW/hNv2ze2v66tXw/NtTW3//PFfku08wjNC9jXz8ZWP49ziYnmkqdmleXPrR8ku0Rd0UTNaPla0LW6BH9g3hnQadFUXTZ+Thyg/O1srEApnt4HscULzw61xm99CmpaBRlKV3xIVLEhjO3gyc3tCy+MFkvVXcB6LXzuYwA06AZuPTXOgtWwpQQbdjDY9F+RT/KDnHh2z5BOkO0B8Ropi+cIkph9tcTTnMBGHP+Dp+BP3QCX+8yBYUvhLuEF2v266BW8trt2KXlx9effN7ZzaSiDBdgLi+gfPGiJkeZgNq1z6CAvZfMgjIBY2wvuuhPmob3u+ZFvcUnVDr9GXPsXckgo5HPawlEZDcAcaVCTwYkoz1YhZ8efBbVqTCYOcEp1Gr2Xu8+LJ3TDeuYrae39UJJn8Ks6atQRmhHYZbjlpgLTRMS/OE7G/RnRdsyJ0hEy6bEzBURxvUkQjym0MsGZlk0N6VnccJNw2am75zuR3H28uhleXt782NSwoY7sY9rIYz0JaiHOLS+eRphKXxkdvlttdoi2YvWCprNkFudrilmgAdBEk3P4msvFoWIja7+mUFRQjv5EDDbJ2c8sB8+vjfsFCpm/q6Sx8yBFw2/G4HcAMyKXh5BCM8u9jbjM9gWnlbn80PmPrMmHzY7ksjMs4mvUGFFk1QvSDNEBdSDZ/T3EYNehUF85DMbcwncWtUq9eb2mO21Zc6Y0Cj/mVCc8QxC0or55xfMgxiKfC6EA+4ENHzhR0OyVd8SaBtrjpTbZdLje3ZvsUxwhFmiPa124l2oCy0XvrjNxk9ROfzsGHahMZbCbdCKTMDZBuwUlfhhvKSThiMCYzPXDAKa3hIQcC3Hp8YMu7LgHxOZ3ujwdtp6PMFpjTMHGauVVK23eVvgSXcNv+7Ba9x+hhvvi4oQluGdvZ1zD11+l5sop4Nzc6nYhl7ZICGwR6n7Cvy1NBdjODPaMLXSJyz8FvWfblW4Ta4qa2GDpIdsCH1IwUCcNro9gcRia7LN9ntxxFgY0/P8mzbCl8Bj7Uu08jOGFJ/VYiU4TOnurlV44tww06xaaWoo25tNPh4E9coMz6LVF2gstmt2S5xcFXW1UgurJS4NWgeUH+uFpbvTn/oY4lSC+bMadtCf0Sbg/E3P64uxyGYUs3XZSxnYS8/Mm/fJS0dEGWMc9CxwMfIvLhHOrJxAJ/uuLalLa4aa1ikiZMAsvL737nus6jS5nhYKEXbmFuGbUmwfVxm9YNhjIWVDTaNIKNc28FT8IJTqMxLR1OkgBc6zlojMsY+TLcQm7gVHNpLp9gHxQ5dmUA5YIscM8Ek0hXHI5THWHXBRxNOhyOsGOY2VdBnQqFos5JuTDc4UcX+sFERwyRXJ5EgHDr5rZy71UZ2yWwH42OjKOxj+Q2Adm0ISeFKgvt7GAxrtHxFxRkoh7nXDSmLW5xU0FAXO9SXfWDaknAYSSj6SlFTMs7P25t3Ka1WKBsiq6Lz7T2Zg60TCU0L78HSUAI0d48+EzzKluidBkfYmfUCWDhkTltKMuXKAASthM60zN7hsdtd9RPNmdFHcmjrYVpiX05eImBH31n2uAOUD0Qc3t7M4ibHStt5IKbrcrYLv8KpqQifzkJNLLJecQyQSlRV3ZqwdIK9Hzr4gY4OdD8Zp6waanNtA6jsAA8A27OkGsZFo1bF7dJTZesyYpiwnoQsZrHg9vAk8uegFEYX832jPewTY4y3AK5E03JpdmMiR7TRRoHnNaW8xVWiAcMrIUGqP2ReXQTp1eUsU2cldlLw4lPan5tO4O/hNsDMLfvbm8uhkd2zYV4U/AQKn5cHDvsmS1hTBCV1iIcxaBg+mtWGpXJcWXiOpmsUoBGo8LjA13VxDQt3Wp2qixFTGnKAlHr4TatsaQBEw494Fvw+NlzVNNIN829CTyDJW62W5EzF4tuCkkR8TLcciY1l0ZNCGDh7QJc0LFuT/jyRC3MgcTCIP8QYKNwKJdpFWzW4vvUZGlIBQ4fMbqE27bMLd6NDE0Sf4/wi0AB43A3iksKIiUTuFw2EK39+51XbO+B/ZqVZpMspXm/ZeI6rw5YuJESYuihvEX7GGlFRrlXCrKnkcinzu1BWH4d3MJa888JlINCCDoItHpXQJB5tccN4JmxKsDBdgjDXS+wk2M1iNSKynDTjJf9Ho+WJqrShxegwHBOCh8soEEcMFTmm3dGC1gcsY7jHgBUmuBmH6IphsMFCaW0aRAyOd07JajAA+EGORZ0sT4eUmVsF6FeE+G/ccxKs9uPKVZhIZYdgu6kXxC/6mNz3FAsU2NNGoqKwRw98NGrwyNvUPOpjshCgea4TWtnFuWIFKkjmOOWLnVFJJaOODueIMDC9XLP777g+2C929PM7M4JYhlumjI64bfqUNzSY1gwhXLeKb4GxLiAzK8T5XB6SYZS2klX2o9lXFQYAPJ4YWOYQMZa6wFWmXLkEG7Q3MdjIxfsaRnbxe9qcgzfKesKw1Yq90CBI9yGfE5BDNqTeGyKGxzhGXHqJJqlRtORPzUJ127hQGAqden4prhNaiwoIuVKu0k0zp/5zHjC5jxFWLczHEm9oTLc0soIpvTSnvKa/BZRWNOCP5i+8hxxGMw4/w4PbklW0Y3LpmJUpWszo1txpFE2r/sl3Lq5rdx1VcZ2Du0eMAh03OpYoeNWh1uqVMczhUw+vuOWxyeVSrh1c9vNbYpDmsR3ca2DteNWh1uqVMczhUw+vuOWxyeVSrg533cPdAQ6Ah2BjkBHoCPQBIG///kf0F1wRfPxkOqjvNQ4Lh/fccvjk0rtuKWQqYvveHbc6hCoK0X81s1tdybX8U9lqa7m6oDruNXhlirV8Uwhk4/vuOXxSaUSbt3cdnOb4pAm8V1c62DtuNXhlirV8Uwhk4/vuOXxSaUSbt3cdnOb4pAm8V1c62DtuNXhlirV8Uwhk4/vuOXxSaUSbt3cPjhzSzdj23NfJ/USjNRLx3g4NzbzXFqWfjbxTOIKR2inHkvOHr6DO5Onk8xCk008E27ZNkWJeHWDdp40ynn2iC3hSadUrUSH0Bz5odIwcfXnMtzgjiZ2U4cM7vjHj6Z0AG+emMZeiwmp1LrQ6mnMTrh1c7thc6vbRbwUz50Ux7uN3FMh8yIJ7WKUwvIzspWJ64wK1KLYYbiQMaXT1FLyq2hhFqA5FfiQRvnzeXArbx/mPCNfTWypuVRvaqk2+eEOpgQrEeMqF4y2ack41TI+1G6VsrSxt5XKh+CYIHVQ2eRxtm0p/8WaxYCdYvjFYLnxeTe3lYaWdl+XsR1/YTVhTRDhNXuGk0/FdehXhMKQrfG8dx3cAhxQMlISnrnnRoPfka5E3pWfFjgLbtOauPZHkqa2TuTfEp7AZl6iWTORb4ddY5FkFY4Hy3CLesTGuVHaeKUsh3bRdPqrKgigCi0jmQ4y1yFQkhokiKF3layLcOuz20qjW8Z26TdZmKLwC0T5tyqfJFVwdyT/VGcPXsradCzdEje651TpMX6VRu2w/SZDQt+lRiWIc/AdIaZR5GtY5Kklbos0EIgAM0qdtBjppQltCU/dAKHoLzIzWxK7MtygR/6qZxQy1xO9t2EbwawmJDYUcKu0QhL57/xEuRX5pVeAE1jB2piVxbA7wVPuM8Jtq+b2293rq1fw3T34e3VxdXP5/Mv1j0rT2OI0cBnbRe90esSJFiv8rdrwmjVzq7oyUm8/bIfCa2GWZZ5b46Z0GGWfO30m98RCK3XATnw0E76rNKuSfKta45avvTCVaaDCEmfLtiU8FQMESDblp1rgy3ALeiQexUPQDK+GpJbDbPRpJHRGFQpawI/2m0T4OVPNaAtnsRw+0guhQmDf90cijt9dcEOJoDvskXADa9bCGs2i+e3LxTBcXN29I/v67e71czC6r789RnNLrwycvLhTYE9DRT/wM5/PwyGet8LsRVMwu3kBv9i4znX7ZeIaNb8+AqSbDU/GCcU+AZwcg4RL8RWz2+w8eLzS0Ryr4zbaIiWDxEdkwI0lylhIZFrxYUt4hgbIKPINoeVfTBluQY+EcARpnjTZNzNmBQxQncE3B8VXgTCBObKM8XN0WBLqNaEqaQjjiLtCaIEjI874mQVNIYgZ9sF2EDsw94RNiHDboLm9uxyG4epOGuxfr58Pl7ePxdxG35w4HpAVnBPD21WFc6JXDRE5Jtd5TSUzO7JMXGdXYwmQTOjf7UmKhvxUIScR6g3/HkSKrX3B35Vxy7U8Ho+4mQIOTNwTC+BocEvztQ3hKWQTHShbWqwNOCGH28ltog60jRAOmRYKIaSCxXV6DQLcbeQTzHBEEBetDYr6ih0Nn12lwgiwoCkUx4CaTW0jJ9w2Z27ffXylT2S/fbn8+Eva4HNa3xzb+ZdYHcJ36XwbxtoSNUjyal4+pevzvKbkUXlNybdAVGPcZAsBHNiZqP5R0ui5AgGcAKrPbiXa4ew/TN3U86p8ONJzy2KwM8fJ/EiZcyVncGNLLTvjczOCh49WCEUaCqGYVRoRc3oNAnbGC9MNl2AREDJpI/E3SPGPEQ2cjnCjbujIIjbDCVf2WMNcreTvdo8sQLhtzdzCLHZ4/sW4kcVi7a/r28djbomtjFk9iu9QS16RT+z9BkEQ6eTeA1iFFDwfFF7wMSOuC9aCpKDLGT+yF6VMxQG8iCLTGx5RUCJ+EJShWJm0Im6VLTQulNU4qb6ZUHJLeBpzG070wg6CV0H304Q5Gz4ncQNJKZQA31E8aheMeCnVC56TOTLNR5pteJdxUnl5EogHe2RBC5WuDWzsiTZDoQa133oGIkGHTwczN7dU/S/htjVzq3qSzzmLTc2nk2znEZ4ZsjwRjphsPJGXT1GVbodV+oPPoCYPqw2q2+PmcdllbaAVpQgzHwHgik/IizLh7DaQPU9midBauM1pK8AFGmmlkducpp7X3HpbgUM3Md+zg7noF6zN+d3xCT7Eoa3/bjzISdQBG+FmtKFm4y/U6zUhc3x2a/ZVBemOiKdAUSxfmEQjRTHjwFcELwZBx3uBwrV0ZHfKwP73ILiWQIBwg3wpi3KGeNoktSWncQqEBNsJiBd5OB0EG3B+A/oK57BqcRufZfOy38Y7ItfBzVxQYaYNDBAWZOLHYlmQVMjhsN+5k/KiTDe3DCwIEtw5JRoUOOPjOnyY6SBT3pJNYVdkptyZk8pwkz2STYa0QKXJDPCE80Scy4OC49kjhSdkklEK4nmTIhqaMxnKw+177EUZ6koUq1cPEm7d3FZOncvYTod+Suxxz3kNSkpeEU/m0JCjH3Cci08HwE41veKxPW7g9zGTdZTs1DA76YRCdMxABSUdMCa/kQC0m1vJRwATMOvpkBjhy+znfWrPh+X945YASsG9rOWl181ZhlvYI97GXBqotyNejmp8xqTuxFRZLgvv9wk5FoqRyDhNGqQR5sKo8waHYdQqU104hFs3t5s2t6D0wTUnvE+S3/wTej4cS6FZlosL6qiMR64wMSkT15DDi5/leZOsZAvTGVRgLLbLYt8DSZpxE4CcO1ue9VsH1GseG+NW06SgjLW2aC82b3C3hGfEpsh+AbwbeSzDDeXEyYZ0q6UlBae0xuo5iwi3HvOd2i4BATmdEithMlswew0TFWdyBm6ltM193KfMMOHWze2Wza3V8sRZ9p0W/sLVZmIVDdgkEgGw1muOpcvEtbCLQTY8osfjIj0WJPqxCUuAoY3BzZlbk4wIOkz77JahhqM7h6dgXJ5rM+GWfDi1kwqbgpdpTbEsbnIZbkqPXA25NO9It6InJhpot/38Aia2qSvwbHlTraxUMZhB/rhaNmZgLWCxdCNCanl9k+b2R26r1LvHcs2FfdfwWp1yd+yKvia2oOD3+fksakgaC8oi2VAttmxkmbguVCf0zk9ApWgknVBsuh/I4D0cLPTIC3O7UIuTZFbFLdmKdELISIpGSxc+Q8qW8AyxQziQd1fbwVj8BspwU3tk6siluWYI9kGRE4chIR9kgXsmmES64uSUPsDK2G5/OBxhxzAbvQjqVCgUdU7KhU/Q9gF2YO6PUXtcLjVAuG1sdvvjv+urYRhulPsaH9e5W8tOjEfMWyQu4/4V6UBVXzZGQsnQfKu8X2zA03UlU8rENVl8WoLaO0uiQMCyWTQ4Le3lf1fFbXLzAeiQtdbFZ2qTt4Rngk2Nct+WyS3DDfkh8qTReDftTGbvUBvKchc7asGi+b89w+O2OxrVGmjWrKhjw/B1QJVQN5TGg1l+9M1arwQJt82Z2z9vb4ZhuIg2J19faTZYHMytdAun9h7n48vYTsG9PErlAE2x0Z7QUN1FFWlSrcV5j05EYn7ECrj5Rmq9c6kqvC4VA9ks65qTVXGTKIw9oeoLtBeWIZ2o+GfGKK6QviU8Yza1bhRz3JO2yK6AyngVZbjFPfKUc2k2l2ZtyUzibBWmtaPqztKiDfN4wMAunKHoytHAyCCAszKEDbujzz81v3YNgADhtj1z++M/vFhquPz4i92Z/GpTNzj++eO/MrYTiE98QJ6QugpfuqbY7AY+mV1WqLK5Ftl0w1R73Fivtd655KwtxVzKG3Clg72OLL5NcFXcJnQBVmntRnCl2BGureUTCyXPWaK2hCdjU5yLyaMB1uSCqibXKFvuWB27MtxYj6IW5tIoc2blHzUg2NrSrdtchrEwmGkIBGo00yrYrMUPk8vSkAocPmJ0Cbctmts/f/z37vbL5fNX0LhhGJ7fbOrjBDTrLWO7iNfKIxxvuCLAhRnPEhYIucgWRk9IwGGQhlwmjTTSUbJaUvN+m+PGm6fKkFFW0M2REXI+Sz6VN2OJ8Kq4FTYYDAHXQ3ox5CeQ48QpRr1U69gt4UlCCGAm1ba1uRn5b40Y0S/DTRM8+z0eLU20PT77CMmwoQWPAsAHC2gQBwx1zKx8EX+Ktd3jHgy10gR98G04XJBQStu3QwMi1fISbiAGea9pT1URKGM7wUbTHmjlxpk9eKNjsqZwkeXT5OiLOBeHNf6/cR06rS8sd3PcWF2KYNzf0/yB+urQ5YV8OG9Q86meyjKhVXEbbzIqP1WvaGVJHQH/li51aVQWjdsQniC28Mf3Yyza1yWJleGmaaITfqvO9DTNB+GhY/E1INYTMr+EnB3LiWTc263X4+7aYwWCIG1XVaes0DltoI62OaWkCTdormpOemQegTK2C95h9WPpLYt8qAcHgfZ72Jen81x1Y2YVXBU3f6QnbDNcxSAn9WEOXCqCI39KAkbRgcBU6tLxq+KWbTwoIvWynWyprSVuB097TnlLUpp+W2W4pa+MJRddiv7RaSs8xniAz46ODdHAjPPv8KDem6n0uB6N2low8YnKbHjtNm/nNpJaxnYx7I89puNWxwEdtzrcUqU6nilk8vEdtzw+qVTCrc9uK/czd7ZLMVY+vuOWxyeV2nFLIVMX3/HsuNUhUFeK+M35vnugI9AR6Ah0BDoCHYEmCPz9z/+A7kbcsw+rGX10PGeUV1f2MZfq/Lbs2+941uHZcZuDWze33Zlcxz+Vpbq41gHXcavDLVWq45lCJh/fccvjk0ol3Lq57eY2xSFN4ru41sHacavDLVWq45lCJh/fccvjk0ol3Lq57eY2xSFN4ru41sHacavDLVWq45lCJh/fccvjk0ol3Lq5fXDmlm7Gtqf0TnAs3D6k3rWMh3NjM8+lSYJTns4krnBIdipO2cN3eEP5ZJJTkJJ5z4SbbMT4E51JnMaP41Qb5NgSnnRKNQXakR8qbYDENJKVuI0dnp3WiAm5NSGe9G0Bqiv6tidGT9CkhFs3txs2t/rbxEvx3H1IeLeReyrkQyShXYxSWH5GtkpxnVEjFMUOw1UwKZ2m0odr9dJ3YQDNqcCr1RRFnge3oqbxTHhDUgY0nves4S3hiaDprESMm/qo6xkQzOKGd1iw71y6b/bCFYksngXT8mU7h8bRPqi/mRzEj3KgbeLGaxaVQangahyMKpy4EG7d3G7Y3NLlnqFOl2pePgkGyT3oV4SCXSpknxzxXFpWXHMF56Sh0koZgcw9NyiYuh4kE55Km9NYvexZcNObkosFxNYDJdeSkbQt4ZkEjYztpi53zOImlRF1Cwe4TN2wPJFY0s2JzBi7T7bv4Zu1iT/4CEaC66AJgdwrUSOsYpODkqA3mMm2H3GyuYNfwq2b202bW5qWSf3F+NXM22S6f88w6kv+qaNNy7mTJoG+woJQVlwLyueyaNKK/cev0qgd3uNl5zlx5SIlKw++EjZt5ixJjT+1xG289uIcpGKLs58v45bw1EEjYyQnZufDy9acxU2qJmZjWZDlYUFL/t5IESRlJa9oUBcBCyZSkvXXRrom2ECkPvETEk6hwpew/J/VnLZw+Eu4bcvc0qf3oE327+L5zevbXxs8kptluxDrOc8nWpn1t2pLJvVP2irFfandbGsrWP9b46Z0OBiVssaUBi20KK1OxED6vMTBV7jYYLeUdGm+1riVtmMkX6TgRvKfLXlLeCqggVg35ada4LO4eWUE5JmNZUGWhwXD5iiQ+CzBJ4OsdPoMFALyXCQTX3mhbBP2v7DOhFWmnwk3MGvbMmbfvlwM8LFbatW725sL+AbfF/Pt2/N9Tz5AKct2adRrU8DJa90pIIhSze/MJC01zTW87wxFFEDZTl7GX9tordzKuOn+eK1hLi4a1NLXvsCUSgEWs9sqGXR1jgdWx228SVqOrJrUCpwrbkt4hqBNNgArgpjFDRrudRATCRZkeVgw6EGICCTjog9qLjmvpM/NxsqLUDTD7+MBBseHo/oHQ5uENzpoFz6yzthk2Ellw/ov4bZVc3vLfLxogIeru8Dgnfcxy3Y64uWxtL+T5T8ecOKEc1DJpPKJFQmCGgO7LAoDubSFA01xi9sK8DANIDKkRsXwkT6WkZMQQHVziygBJs7lydjsdHCxDM2tBFfmw2y3GWhoVDa1WBu0PIsbiIqfCaCBI0licsMUFgvKWjggLiWVm9F2ec2XvNncFrY97uDzaPiFXPj2LhdyoK2pCXV5ageTEzFjQXPNKuPtMGHC7SGY2x//oZP51aY+Mp9lOwXuiVHw/pkSI2tLNCTbyad0LSoH2+wJjrXJS/42xk02FaUoEA0nJ7igO24RBHACqG5u3Z5vt3VWoBVsJpHv5sxPq/LhSF8taHCob5whR4g1Ts7iJpURExYWZHlYULTa4kGR1izy3NxWMtqMCtDAz+AKLzHQYGYRv/IXLtYxIhC01ftovUKfroYIt4dhbv+8vRmG4ZJPec/tVc6ynQr4xEjgDDPgOopPs3K2K98fC+znB57O5lCAjUMntnJy9ua4+RaRxHnnlk/BUJHUSLDxe/VuYCvWbmHIm6wqqLnmcUXcpjQPuZQpMKkpwZUPh0G4s2AK9YZ5t4SnAY3bEK3nmfMuWvY2cVncpLQwAWNBlocFeWOlqsKpJHAQz41ZDF8x2o4KfM76GCXwUizrnmY2xUwa0eW0Uts3CLcHYm6350/Osp3Df07AstfpIKytYDvJhEptbodV+oPP4HhZz+/XHjdCAdDbZW1gWmocjkiEr8qIMuHs9hGaW1BgotsQIUcdJkuxMnPgtw2sxYdqLwIfJXon3SguGAq7R9r7yoY2KunWkVncrMqiRjBhIUNnxvZ+3K8OUSVPeSKcOGczn8P2HY2t2KqFzmUz8FNO0wNpuTMt3sDh3sM+diabtNwbItweiLn9cXc5DJtavs2ynX3vS/yeDoGEcbYbM7d+e4HnlpEQ7ppqpxzXwc2IFJfK6F3EYhpkQbnfHQ5m9AuposyjN7eopWLjKmPMZrXACAdQr/+4Dh9m+sVETLIp7IrMlDtzUhY3qZqYsLAgaz9O1xkOkESWz3OLL8mIQ9BpRZ+DSLvpiU9ge5KRviuLNWIL4B2I6OJDHaxDhhrj8gAABlRJREFUmSDh1s0t25M1xUGdZbsM7FOTgk3vhiG9RmNMeH9vDg25OjzDuaiRgNlR0M791x43JlsoQ6lpQ96DbgYqKIIooqgBBKCP3dwKMAxfScthmQ1iQ21m0870254PyzsWggb3spaXXjdnFjc0g07emIBprKK2+7iHCy3Y/mZfkmk6rMe6bX0OpHhyd16aBH7/BEqyXFNz89oxX75tL1YuHY42KfNLuHVzu2lzazebCO8TzD8dT+M2eHpCX4YfoSFr+WGiuuofRLqBYYZvZiZlxXUmbRyL7JkkhHpM0A/ENEjDFUeXxb4HIOigf9xrt4pPzuwHVWwF8aJgRoH3+g+N+XBShyI2xZMJk0isljmLG7xm//ad9AReoXRbYVErcNh5Ioy4AMznCAhHCUBhJ10HyJjTNhegDrC23lfJrbqPdaEHZW5x7fbCHsY97xEgqj3Ldg7kmQGr5ZFM4HUZJY3b7ngh5LbQlUw7EUaJLZahJW7RPeJCLMMuRNJoMsDQxkhTmIXk1WL6mGe3KYOQRBwSAm9d+EJWfW7Jh1M7ooAGgxlvuKYSbJg/ixvIh281kx4WHG+boOJL+uhIDP0cg1P3RTGWlKl01SvIWwpihsO1Jk6HeQSGad3Wd96Ssb+E2wOZ3T6uncn2TSeWUYNvAJU6QXBZJGTMDL9ZRln2Nyuuy1ZFq4bMESBlhPm6eL0czkBg7+UIVphbTqJFeFXcxjoQcCDLnuanEEtW6BzBLeGpggaRG9zUncVNvmP2xILhy+byRmnergp3iY+WeCVp8wQ/cWEePGm2w4aBryyOo1bAVEZJjLO7GMLtYZjb66thGG6up6yttp4BZ9nOgTwnAC+WjRUtKYwGn4h73bDjoOTla9wlOdfUEUuArXz+b3vcWBvV3tl0Lo02LvjNZtHgDMov+Lgqbvl2u93uSrYs4kr+s0VtCE88XqbMi04A5tZMbg43kAjWDyY9LBi+8dhwoWDZJRt2uMCoJUjm1YQE3bOrFIyjV5cw7cBWunRXYjzg+RtWmZ0KHi9IuD0Ec7s9T/KfP/7Lsd04+EU5VHaA9x1OUc00buzte1bx1Wtx0t/i8y4SWgE3306tdy5VhdelYiCb5dGaW4mRfMoiLrOe92lVPhzpagyadaPAtj9Q0Wf8QHXQ9hxugbiwRxYM6N3H+8KE1Y6wgQhUgIERDemyBePopgqY68ItU2MaM6QpG6PvXgjLmGfCbavm1izT/rr+CHcmX1zdPb47kxV1nhnYYVKWfySvGC7QIpm7JcE7M6Jz4jqDrF5U653LmVEBJo/yBlxp2tGRBZzlnR9cFbf65mYRrye7fMkt4clAO4GBlcbVmlw0u3gPYWQ+locnSTGDm5012rJMwFjQptrf0aMXfAoZKECEBjzuPI8lLE/tuVjwEQPGsJY0aY9UUDcQRP9DGRXCbVvmtn8RyHNFbD9xTMacIj4vhrBAysuCjMEcPbYsSroc5ClsZXMv8JsR1wWoBySYHvMpRjahmyPWMp8ln+rrWya0Km4Tm4yrGXj9+yG89mIipfWybwlPEkKwAclprLW5kwxECzTTuDm7CVNzuJmYCRiEdd8rTt+lHGrHcY2RVCQWSKPLPeqtZuNhW4y954wwxSfVXDOCzq6zOBP0/ofDUV7ELPISbtsyt60XXBekn2Y7gXL9A63cOAsJL3xM1lTrcm84jK9esFYZbgE+8H87XTRYsepgc9x4yzRAaP5AfXXo8kI+zBWGj7WhfKrNtdTvqrhNb/TpBLeB4N8IqNNpNymxITyBS+GP78do0ucliCZxEzfNkvJixpGMIvUz/H9c24Dys0ZS6QQCGLOdNLfGbxDOhMnmEv7Sq0AVkfYcUb2MSGqxnXCDehY0Qo+HVJLtFHaYH1V6yyLf5ARrG/s9fARjbOw2v33lFFbFzR/pCRsIji85qQ9zwHj6sA+O6fFM+VSec4nwqrhVNhhGhKOgVtJeutim8CwYSi/d/1p6Cdzi7XOn0LBV1YhKDKaN+dJHRcnZSTKQOIxowWgd+ISlUHmOVO0bhgdKUvxPuHVzu+lrLvy7/F1CCXH9XbrXrB8dt2Wh7XjW4dlxm4NbN7fd3NbxT2WpLq51wHXc6nBLlep4ppDJx3fc8vikUgk3dFr3/zoCHYGOQEegI9ARaIbA3//87/9tPWluciD68gAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "id": "e9541f5f",
   "metadata": {},
   "source": [
    "## if-else原理\n",
    "\n",
    "if-else 有两个特性：一是能够利用 if -else 进行条件判断，但需要首先给出判断条件；二是能无限嵌套，也就是在一个 if-else 的条件执行体中，能够再嵌套另外一个 if-else，从而实现无限循环嵌套。\n",
    "\n",
    "下表列出了 A、B、C 、D 四匹马，它们具有以下特征：\n",
    "![image.png](attachment:image.png)\n",
    "如何从中挑选出那匹“千里马”呢？毫无疑问，我们要根据马匹的相应特征去判断，而这些特征对应的值叫做“特征维度值”，下面是一位“伯乐”利用 if -else 原理，最终成功的审识别出“千里马”的全过程，如下所示：\n",
    "![image-2.png](attachment:image-2.png)\n",
    "上图所示是一颗典型的树形结构“二叉树”，而决策树一词中的“树”指的就是这棵树。上图展示了伯乐“识别”千里马的全过程，根据特征值的有无（if-else原理）最终找出“千里马。你可能会问为什么并没囊括所有的特征值？\n",
    "\n",
    "因为某些特征值对于结果的判断而言，并不是最为关键的特征值，比如马的“体型”，“骨瘦如柴”并不能决定某一匹马不是“千里马”。而“马腿”的长短没有作为判断条件，这是因为使用前三个特征值就已经完成了结果的分类，如果此时再使用“马腿”长短作为判断条件，则有点多此一举。\n",
    "\n",
    "```\n",
    "if (特征值\"声音\"为\"是\"):\n",
    "\n",
    "    if(特征值\"眼睛有神\"为\"是\"):\n",
    "\n",
    "        if (特征值\"马蹄大\"为\"是\"):\n",
    "            类别千里马 C\n",
    "\n",
    "        else:\n",
    "            类别普通马匹 D\n",
    "\n",
    "    else:\n",
    "        类别普通马匹 A\n",
    "\n",
    "else:\n",
    "    类别普通马匹 B\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6084c262",
   "metadata": {},
   "source": [
    "## 决策树算法关键\n",
    "\n",
    "#### 特征维度&判别条件\n",
    "我们知道分类问题的数据集由许多样本构成，而每个样本数据又会有多个特征维度，比如前面例子中马的“声音”，“眼睛”都属于特征维度，在决策算法中这些特征维度属于一个集合，称为“特征维度集”。数据样本的特征维度与最终样本的分类都可能存在着某种关联，因此决策树的判别条件将从特征维度集中产生。\n",
    "\n",
    "(对于决策树算法而言，我们要考虑如何学会自动选择最合适的判别条件)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "49272e64",
   "metadata": {},
   "source": [
    "## 纯度的概念\n",
    "\n",
    "决策树算法引入了“纯度”的概念，“纯”指的是单一，而“度”则指的是“度量”。“纯度”是对单一类样本在子集内所占重的的度量。\n",
    "\n",
    "在每一次判别结束后，如果集合中归属于同一类别的样本越多，那么就说明这个集合的纯度就越高。比如，二元分类问题的数据集都会被分成两个子集，我们通过自己的纯度就可以判断分类效果的好与坏，子集的纯度越高，就说明分类效果越好。\n",
    "\n",
    "决策树算法是一类算法，并非某一种算法，其中最著名的决策树算法有三种，分别是 ID3、C4.5 和 CART。它们之间也存在着一些细微的差别，主要是体现在衡量“纯度”的方法上，它们分别采用了信息增益、增益率和基尼指数。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01820f7a",
   "metadata": {},
   "source": [
    "## 纯度度量规则\n",
    "要想明确纯度的衡量方法，首先我们要知道一些度量“纯度”的规则。下面我们将类别分为“正类与负类”，如下所示：\n",
    "- 某个分支节点下所有样本都属于同一个类别，纯度达到最高值。\n",
    "- 某个分支节点下样本所属的类别一半是正类一半是负类，此时，纯度取得最低值。\n",
    "- 纯度代表一个类在子集中的占比多少，它并不在乎该类究竟是正类还是负类。比如，某个分支下不管是正类占比 60% 还是负类占比 60%，其纯度的度量值都是一样的。\n",
    "\n",
    "决策树算法中使用了大量的二叉树进行判别，在一次判别后，最理想的情况是分支节点下包含的类完全相同，也就是说不同的类别完全分开，"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "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"
    },
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAc0AAAFFCAIAAAABxCH/AAAgAElEQVR4Ae2dbUwb6bn3820/VzrneVq1Ou3Tds/29NG22ubTqfZF27PddqvdVdqe7Nnt2a4CIiOP5bFsy7ZsB4fEFiCwbISjmLXYGEEWUJyEgIMchQQrccAJyEJAg7zEwuFlgfAmgww2xB/miJ0cB4wBY4/tmfEfoWTmnvvlun7X+O/hnvvlWH1dXcmpktIvTuEXBEAABECARQIlp0qY32OfnDz5wft/cHe78QsCIAACIMAugY6ODhklPXbio49LvzhF4wcEQAAEQCAHBOx2+7E/nzjxxd8+z0HlqBIEQAAEip1AJBK5aL0AnS32+wD+g0CxEBi+T3/4vTw7mxed3YrRw/fppooXv8P38+wkmgMBEAAB+p1jL3/ziyPHOru2Qn/+2rZv1FsvdZZJsZD59RStgQAIFD2BtZUXUptfErnU2XtXt11K+Yh+4+L2JUhtfoON1kAABISls1uxF/5MBVKHlnmGT30NqSAAAiCQGwKFUJ6cPc9OBV7o7L2rqWkxvQf7qXDqMkgFARAAgewICEpnaZo+/+l2t+x+P9DZ/cggHQRAIHcEhKazKUltxeipAH3jIv3eK9sPvHieTUkJiSAAAjkiwEedPbbnJwWctZXtwQbMA+w7x7YPLCR0NgUoJIEACOSagAB1dirwQl7fe2X7GXZt5SVD9Bu8ZIEjEACBfBFI0tmtGH3v6otRpzsFilVzsn0Ptudx9thL8yzki1dhKScmQGdfksIRCIBAvgjs1FlGoz783su/tj/83q7Hwd1GJcnd7osHneVMZ4fvvxDZ/b4ioLMHxQXXQAAEckMgobMffi95CP/5T1+o1lYsZdvc01nmNdf5T1Oau50Ind0XDS6AAAjkjACjs9RbySLLNMjo0j7CxTGdTUxuO2A4AXQ2ZzcSKgYBENiXAKOz772SOgMzi/WdY3SqR9qC6Sxj68zMjFat0ao101PT2ymJSQpp6mwql1JTQCoIgAAIZEOA0dn95k/R9Iuugz0Znm89L7DObkSjNdU1Mko6MDi4TSAx6bapYl8gH35v2x9GiJsqMJB2X1C4AAIgwCKBRP/sfnUyGfZoVzweN5tMWrVmaWlpv6L7pWf7HixRb0tLC0mIul03X6QkBhskciQOpgIvBs++c2x7vUSaTr3WTCI/DkAABECALQKH6izTpfn5a0kNxmIxg8FgNpmebz1PunToKWs66713nxJLrHX1W5ubL1plXt6998r28LSpwPZvU8W2pH7+2vbICWZAwnuvbKdg4a5DA4UMIAACrBDIVGeD409klLSjoyMDK1jT2empaZVCaTAYNtbXX9qRmAn2+Wvb8tpUsWtsGqO8e/pBXhbHEQiAAAiwSyBTnb3tviUmybHHYxmYw5rORjeihu9+YrHUQ88yMA5FQAAEQIBlApnqrN1u16o1yys7JrWmbRlrOkvTdHNTs0alXlxYTLt1ZAQBEACB/BI4VGeZsf+734NFIhH9Gf1F64V4PJ6BuWzq7MDgoJgkPR5PBnagCAiAAAjkg8ChOstk2N2f6ff7KbEkY3FjU2cX5udVCmVzU3M+YKENEAABEMiAwME6m1gwYHfNHdeuyyhpMBjcnZzuGZs6u7W5WVNdYzAYXg45SNcM5AMBEACBvBBI9bj6smFmlNTuTgOapi9aL6gUyow7RdnUWZqmOzo65FJZxqr/0lscgQAIgEAuCDA6+86xXWOfmIb22Tp2bnauXKcr1+m4orOjo6OUWOLudueCD+oEARAAgWwJvHNse0T/8P3t2VIW8sXQ/uH72/tsvXMs5VZb/X0PSEJksVgyHkzF8vPsyvKyRqVusNmyZYHyIAACIJALAjcuvqz13tVteWVG91vIFE+432Vt+7qVIIi21raXBY94xLLOrq2uajXac/qza6urR7QE2UEABECAcwRisVhNVbWEFA88fJSxcSzrbHRje0EZKUW9WFAmY7tQEARAAAQ4QGBkeEQulRkqzofD4YzNYVlnaZpua207XVp23Xk1Y5tQEARAAAQ4QsDn85GEyPHVpWzsYV9nvV6vhBSbTebMJk5k4wzKggAIgAC7BAYGB0lCdNt9K5tq2dfZ+fl5/Rm9SqHE6K5sAoOyIAACXCDgdDqVckVoIpSNMezrLE3TdrudJES9d+5mYxnKggAIgEBhCWysrxsqzptNpiz/Os+Jzrq73SQh8t77bg3vwnJC6yAAAiCQKYHQREhGSa+0t2dawYtyOdHZsX88xmyFLAOD4iAAAgUn4PF4xCTp9/uztCQnOhvdiFZXVVVXVWGhgyzDg+IgAAIFJGA2mSqNxkgkkqUNOdFZmqavtLfLKOnU5GSW9qE4CIAACBSEwOzcrEqhbGlpyb71XOksMxgCXbTZRwg1gAAIFIQAM3K249r17FvPlc4ur6wwy49nbyJqAAEQAIH8E3A4HGKSZGVVrFzpLE3TLS0t2azYmH+saBEEQAAEGAKLC4vn9GeVckUgEMieSQ511u12S0hx9q/qsncSNYAACIDAkQgMDw3JKGml0cjKklg51Nnb7lskIcp+6NmR6CAzCIAACGRPoOPadZIQNTuasq+Kpukc6mxinZvMduJlxT1UAgIgAAIZEDCbzBJSPDw0lEHZvUVyqLNrq6uGivMySoqug73ckQICIMBlAjXVNeU6XTZrIe70Loc6S9N0s6PpdGkZKwMjdhqNYxAAARDIHYGlpSWtRmu329lqIrc6OzA4KKWomuoaTAxjK2CoBwRAINcEvF4vJZb4+vrZaii3OhuJRM7pz57Tn41uRNmyGPWAAAiAQE4J2Kw2rUa7srzMViu51Vmapi81NqpVqoz342XLT9QDAiAAAukQWFle1qo17G4mm3OdZZ7As9nCLB00yAMCIAACrBDw+/0SUszu8tk519lwOKzVaC9aL2S5UC4rBFEJCIAACBxMwG63y6Wyudm5g7Md6WrOdZbZXgFdB0eKCjKDAAgUhMDS0hKz7dazZwssGpAPnfV4PCQhQtcBi2FDVSAAArkg4Pf7pRTF1nTbhIX50Nn5+XmVQsluv3LCARyAAAiAAFsEmpuaxSTJ+pD/fOjs2urqOf1ZrVqzMD/PFg7UAwIgAALsEnj2bEF/Rq+UK8YD37Bbcz50NroRNdXWSinK5/Oxaz1qAwEQAAG2CIwMj1BiSXVVVfYb1SSZlA+dpWna6XSShKj18uWk5nEKAiAAAhwh4Pf7CYJo+7qVdXvypLPBYFClUJbrdLNzs6z7gApBAARAIHsCHR0dlFgSHH+SfVVJNeRJZ7c2N80ms5gkvV5vkgU4BQEQAIGCE9ja3GR26Y7FYqwbkyedpWm649r1spJSj8fDug+oEARAAASyJBAMBmWU1Ol0ZllPyuL509mcupHSNySCAAiAQJoErjuvyigp6yMNmNbzp7PxeLy+rq5cp2Nlv5002SEbCIAACBxKgFlZ0Gwy52h5gPzpLE3T3a6blFjC1lYQh7JDBhAAARBIh0AgEJCQ4rbWtnQyZ5Anrzo7HviGEktYn2uRgdsoAgIgAAIJAi6Xq6ykVCA6u7W5abFYDBXn0XWQCDAOQAAECktgbXW1uqqKEktytwZLXp9naZp2d7tPl5ZhYlhhbyy0DgIgkCAw8PARMw1sY309kcjuQb51ttt1s6yktKWlhV03UBsIgAAIZEag7etWkhDlrtOApul866zf75dLZef0Z9nasDczsigFAiAAAgyB+ro6GSX1+/25A5Jvnd3a3Kyvq5OQYkxYyF1QUTMIgECaBDbW1w0GQ011TS6mgSVsyLfOMl20YpJssNlyNFQt4RsOQAAEQOBgAmOPxySkONeDoAqgs8HxJzJKWmWs3NrcPBgBroIACIBATgl0dHSISTIQCOS0lQLo7POt5/V1dexuj55TRqgcBEBAkASYLQgsFkuun/kKoLM0Tfv6+klChLW7BHnvwikQ4AsB7737+VlEsDA6u7S0pFGpsWMYX25H2AkCgiTgcDjkUtn01HSuvSuMzm5vNm77UqVQzmPHsFxHGPWDAAikIrCyvGyoOK9WqRYXFlNdZzOtYDo7Ojoqo6Suzi42vUFdIAACIJAegdvuWyQhumi98HzreXolMs9VMJ0Nh8NatcZUW5sHJzPHg5IgAAJCJMCstSImyd47d/PgXyF1tlynUymUoYlQHvxEEyAAAiCQIBAcf6JWqdQq1ezMt4nE3B0UTGdpmm5uaiYJUY42isgdMtQMAiDAdwIDg4MkIWpuas6PI4XU2bHHY3KprFyne/ZsIT/eohUQAAEQSOw5MDo6mh8ahdTZSCRSU1VNiSVYJjE/wUYrIAACNE3H43FTbe05/dlIJJIfIIXU2e1NcDs6CILAmjL5CTZaAQEQoGma2RP2Snt73mgUWGfnZufUKtWlxsa8OYyGQAAEipzApcZGuVQ2MzOTNw4F1llmwoJapVpaWsqbz2gIBECgaAksLizmfzJq4XXW6/Wi66Bob3o4DgJ5JuDr6ycIIs/DnAqvs+FwuNJoNNXWRjeieSaO5kAABIqKQCwWu2i9ICHF+ZmekGBbeJ2ladrV2SUhxSPDIwmzcAACIAACrBMYezwmo6T6M/o8rGmw03hO6Kzb7SYIIp+v/3YiwDEIgECRELjS3k4QhOOrS3n2lxM66/f7ZZTUYDBgc8Y8hx/NgUBRETCbzBJSPPDwUZ695oTObm1uWq1WkhC5u9159h/NgQAIFAmBcDisP6PPw+4Je3lyQmdpmvZ4PGKSNNXW5noDib0IkAICIFAMBAYePvruDVhv/p3lis4uzM9rVOpz+rPQ2fzfBGgRBIqBwPb0BJk8Pwt0JfHkis7SNN32datcJg8Gg0km4hQEQAAEsiTw9OlTuUze7GjKsp7MinNIZ0MTISlFtV6+nJknKAUCIAAC+xFoa22TkOJCPcZxSGefbz03m8zlOt3a6up+sJAOAiAAAkclsLa6aqg4r5QrCrUEK4d0lnkbJiHF2G/8qLcR8oMACBxAwNfXL6WoSqOxUCNHuaWzK8vLWo220mjcWF8/gBougQAIgECaBKIbUbPJTIklBVx/lVs6G4lEDAaDjJJiDm6a9xCygQAIHEyA2bcl/3Ntd1rFLZ3FpmE7Y4NjEACB7AmMDI8UZK7tTss5p7PjgW9UCqX+jL4gw9x2osExCICAAAg4nU4ZJQ0EAgX0hXM6u73yt91+urTMe+9+AbmgaRAAAQEQmJudUymUDTZbYX3hos4OPHxEEMRt963CokHrIAACfCfQ09MjJsmC7/TKRZ1dW109pz9bU1Udi8X4HmbYDwIgUCgCW5ubNdU15/RnCz4kn4s6ywykJQkRug4KdYOiXRAQAAGfz0cQBBemmHJUZ7cH0qo19XV18XhcAPGGCyAAAvkncNF6gSAIV2dX/ptOapGjOkvTdEtLi5SiQhOhJItxCgIgAAKHEggGgyqFUqVQPn369NDMuc7AXZ3t6ek5XVrW3NScawSoHwRAQHgEWlpaxCTJhU4Dmqa5q7OhiZBGpVYplHikFd5nAB6BQK4JmE0muUzOEfXgrs7G4/EGm01Mkh0dHbkOCeoHARAQEoHFhUWtRsudFzzc1Vmapn19/ZRYYjaZ8DZMSJ8B+AICuSbQe+fu9oAlrzfXDaVZP6d1dmtz02KxaNWaPG+2niY7ZAMBEOAggWfPFrQardlk5s4AfE7rLE3TXq+XJES9d+5yMJwwCQRAgIMEenp6uDb6nus6Gw6Hy3W6mqrq51vPORhRmAQCIMApAsy2LHKpbHpqmjuGcV1naZp2d7tllHTg4SPuUIMlIAAC3CQw8PCRjJIaDIaCz7XdyYcHOru0tKRSKM0mEx5pd0YOxyAAAkkENqLbWyeQhMjlciVdKuwpD3R2bXW1XKeTS2Vjj8cKCwutgwAIcJnA9tYJMrlWrZmZmeGUnTzQWWYO7vaK6A4HBnhx6u6BMSDAKQLMkqotLS2csorT88F2kpqbnWMeabFv2E4sOAYBEEgQiMfjF60XtGpNoTYPT1iy94Afz7M0Tbd93UoQBFZK3BtCpIAACNA0HQgEJKSYIwsaJEWENzo79nhMTJJX2tuTHMApCIAACDC9ixJSHBx/wkEavNFZZrkDlUI5NTnJQY4wCQRAoIAEgsGgXCZvsNm4+QqHNzpL03RoIkSJJZcaGwsYTjQNAiDAQQKXGhsJgujs6uSgbbx5D8awSzzSYstxbt5MsAoECkJganJSq9HKZXLODv3k0/MsMzeMIIhu182ChBONggAIcJBAx7XrJCGyWTnaacCz51nmlaJKodRqtFzYi4KDNxxMAoEiJLC9pLdUxpElvVPy59nzLDNEjiAIp9OZ0h8kggAIFBWB0ERILpNz/LUNz3SWpumBh48kpLjKWInlDorq4wRnQSAlgSvt7WKS5PgMJv7p7Mb6ek11jVajXVleTskdiSAAAkVCgNmfxmKxbG1uctll/uksTdPDQ0OUWIKuAy7fWLANBPJAoNnRRIkl44Fv8tBWNk3wUme/W8rXpFGpsZ9NNrFHWRDgNYGnT5+qVSq1SsV9HeClzjJbNJKEyN3t5vWNAuNBAAQyJuB0OklCdNF6geOdBvwb15UIyfLKilaj1Z/Rz83OJRJxAAIgUCQEZmZmtBqtVqMNBALcd5mvz7PPt5432GwkIcLKMty/yWAhCLBOwO/3ny4ta25qZr3mXFTIV53dHuA1OCilqHP6s/Pz87lAgzpBAAQ4S6ClpYUSS7i5OtdeaDzW2VgsxuwF1N/3YK9jSAEBEBAqAWZugt1u54uDPNZZmqaD409klJTjU0H4civAThDgBYGtzU2LxaJVa3j0bobfOkvTtN32pVwmx3IHvPiEwEgQyJ7AyPAISYgcX13Kvqq81cB7nR0ZHsE+C3m7XdAQCBScQIPNVlZS2nHtesEtSd8A3usssyitXCbnS494+rFBThAAgSQC/X0P5FJZpdE4OzebdInLp7zXWZqmb7tvlZWUXrRe4OaWFVwOP2wDAX4RqK+rIwmRx+Phl9lC0NnQREijUnN5NXV+3ROwFgS4SWBjfd1gMOjP6MPhMDct3M8qIegss9UlSYiaHU37+Yl0EAABvhPweDwkIbrtvsU7RwSisyvLy+U63Tn92Y31dd7FAAaDAAgcSiA0EVLKFVarlfurGez1RSA6y2wdRhIiX1//XieRAgIgwHcCzY4mCSnm+Hre+0EWjs6Gw2GtRltpNMZisf28RToIgAAfCczMzGhUaqVcwdNJ9sLRWZqmPR6PlKL42H3Dx1sfNoNAfghEN6LNjiYxSba0tPCx04DH6yKmDHA4HFarVFqNdgEry6QEhEQQ4CGB0dFRCSnWn9Hzd6sqQT3PxmKx+ro6giCuO6/y8HaCySAAAikIeO/dJwjC5XKluMaTJEHpLLMbrpSiynU6Hq0xwZNbBWaCQAEIMPuulut03N+c5gA6QtNZmqZbL18mCIJ3M0YOCBIugUDREmi9fFlMkn6/n9cEBKizU5OTcpncWlf/fOs5r2MD40GgyAkEg0G5VCaAKfUC1FlmehhBEMNDQ0V+m8J9EOA1gZaWltOlZU6nk9deCG28QSIYz54tGAyGKmMlf19QJnzBAQgUJwG/369SKPVn9KGJEN8JCPN5lqZpV2cX7xap5PvNBPtBgEUC9XV1p0vL3N1uFussVFWC1dn+vgfMmDuMpS3UvYV2QSBjAsyKJYaK87xbmiuly4LV2Y31dWapSoylTRl4JIIAlwk4nU4xSQpmi1XB6ixN07Mz32rVGr1ej0W8uPyJgm0gkETA7/dLSHHb161J6fw9FbLO0jTNfCtiES/+3qCwvNgIMBMTJKRYAK+/ErETuM7Ozc6pFMqa6hqeLj+RiBMOQKBICHjv3WferCyvrAjGZYHrLE3TXq9XRkn5tTumYG4vOAICRyKwuLBoqDgvo6SC6Zll3Be+zkYikXKdTi6VBQKBI4UcmUEABPJMwNfXf7q07FJjY57bzXVzwtfZeDzu+OoSSYjsdnuuaaJ+EACBjAlsbW6aTSalXDE1OZlxJdwsKHydpWk6OP5EpVCqFErMxOXmXQirQICm6d47d8Uk2dnVKTwaRaGzzFYLYpKsqa6Jx+PCiyI8AgG+Exh7PCajpPV1dYJc/qlYdPa7P0nMSrliemqa73ck7AcBgRHY2ty01tWfLi0T6qyiYtFZmqaHh4ZIQtTc1CywexTugADfCfh8Pkos0ao1Qn0MKiKdZaYtyGXygYeP+H5fwn4QEAyB7bFcBoOMknq9XsE4leRIcens8sqKSqHUqjXPni0kgcApCIBAQQj09z0oKykV9h+axaWz0Y2o2WQWk6QAVg4uyEcCjYIAuwRisVhNdY1GpRb2hn7FpbM0Tfv9frlMrlGphTdGj90PAGoDgTwQcHe7KbGk987dPLRVwCaKTmdpmnZ3u0+XlnV0dBSQO5oGARAYGBwkCVGDzSZ4FMWosxvr65VGo1atmZ+fF3yA4SAIcJNAOByurqoiCKKnp4ebFrJoVTHqLE3TPp+PJERCWuCSxXsCVYFAHgg4nU6SENVU10QikTw0V9gmilRnaZq+aL0gpSifz1fYAKB1EChCAktLS/ozev0ZfTAYLAb3i1dnfX39YpLUarSzM98WQ6ThIwhwh4Djq0sEQRTPAvzFq7PRjSizgVjr5cvcuf9gCQgInsDA4KCEFNvt9uJZbKR4dZam6bHHY3KpzFBxProRFfzNDQdBgAsElldWqoyVMkpaJD0GDPOi1tnt3Ra+2yTjSns7F25B2AACwiYQiUSYPyKbHU3C9jTJu2LX2Xg8brVapRQ19ngsCQ1OQQAE2CUwMjzC7P21UGRDKotdZ5neAwkprq+rK57eInY/PKgNBNIk0OxoIgjCe+9+mvkFkw06S29tblosFjFJdly7DqkVzJ0NR7hGoNt1U0pRxfkpg85u343jgW9UCiUlloyOjnLt7oQ9ICAAAswUW4vFUpyPMtDZF/ew0+k8XVrm7nYL4J6GCyDAKQLMGAOSEHW7bnLKsLwZA519gXpleZlZ9ECoK7rn7ZZCQyCQRMDpdBIEYaqtXV5ZSbpUJKfQ2ZeBnpudY+YCriwvv0zFEQiAQBYEgsGgUq6oNBqXlpayqIbfRaGzu+LH9B5gOO0uKDgBgUwJMCvrS0jxyPBIpnUIoRx0dlcU/X6/jJLKKGmR3xa7oOAEBDIl0NHRcbq0DNuXQGeT7yC32y0hxWaTuThfjCbjwDkIZEqg985duVR2Tn+2aLtlE+SgswkULw/sdruYJLFk4ksiOAKBIxIITYSYPw0HBgePWFSA2aGzKYI6O/OtWqU6pz8bDodTXEYSCIDAYQRcnV1lJaUtLS2HZSyK69DZ1GHuvXOXIIjmpmb0HqQGhFQQ2J/AyPCIXCavqa7BkwoDCTqb+maJbkSrq6qYybipcyAVBEAgFYGBwUEZJa0yVq6trqa6Xoxp0Nl9o87cLjJKOh74Zt9MuAACILCDwNTkpP6MniCIop36tQPGy0Po7EsWe49aL18uOVXicrn2XkIKCIDAXgKXGhsJgrBYLHiY3QkHOruTRvIxMy9brVKFJkLJ13AOAiCwm0BoIqRVa8p1uqnJyd1Xiv0MOnvIHfDs2YKh4rxWo8WtcwgpXC5uAmOPx7RqjaHi/NzsXHGTSOE9dDYFlKSkjmvXy0pKrVbr1uZm0iWcggAI0DS9uLBYaTSKSdLv9wPIXgLQ2b1MklNCEyGNSi0mydvuW8nXcA4CRU9ga3OzwWY7XVpWZazcWF8veh4pAEBnU0DZm+T3+1UKZblOt7iwuPcqUkCgmAncdt8iCZHFYkHf2n63AXR2PzLJ6R6PhyRERbXpfDICnIPAHgJ+v19KUYaK88W87OEeKskJ0NlkIgecX2psFJOkx+M5IA8ugUDxEJiemtZqtCqFMjj+pHi8zsBT6OwRoM3OfKuUK7RqTTAYPEIxZAUBIRJYXlkxm8wEQWDZw0PDC509FNGuDLfdtySkGMO8dkHBSVESsNu+PF1a5vjqUnQjWpQAjuA0dPYIsGiajsfjdrv9dGkZphUeDRxyC4vA8NAQs4gBVopJJ7DQ2XQo7cqzuLCoP6NXKZRPnz7ddQEnIFAcBJiPgFwmR7dsmgGHzqYJale2QCBwTn+20mjEfNxdXHBSBASmp6bNJjNJiPBCOP1oQ2fTZ7UrZ7frJjMwG5vj7uKCE0ETCIfDNVXVBEE02GxYmjn9UENn02e1Kycz0ZBZC3zXBZyAgHAJ+Hw+giAMFecX5ueF6yX7nkFnM2caCARUCqVWrZmdm828FpQEAZ4QmJ351lBxXqVQjo6O8sRkrpgJnc0qEsFgUKvWnNOfnZmZyaoiFAYBbhMIjj/RarQY0ZhZlKCzmXF7Waq/7wFJiMwmcyQSeZmKIxAQEIGF+fkqY+Xp0rK21jYBuZU/V6Cz2bKObkQNBgNBEK2XL2dbF8qDACcJtLS0nC4tqzQanz1b4KSBXDcKOstChAKBQKXRSBIir9fLQnWoAgS4RMDn8ynlCrPJhOW4Mg4LdDZjdLsKhiZCapVKrVLhXtzFBSc8JzDw8BElllQajcsrKzx3pZDmQ2dZo9/f90BCik21tdiBjjWmqKigBJj9viSkGAMMsowDdDZLgLuKt7S0lJWUXmpsxKryu7jghIcEVpaXma1oGmy2WCzGQw84ZDJ0ls1grK2uWiwWZjlwNutFXSCQXwJbm5t2u50giI5r17EtXvbsobPZM9xVw/z8vP6MXi6V4U+tXVxwwisC151XCYKw2758vvWcV4Zz1FjoLPuBGR0dlVHScp0OkxfYh4sac0+g985dkhAZDAasecgWbOgsWyR31ePr65eQ4uqqqkAgsOsCTkCA2wS89+7LKKlWrRkeGuK2pXyyDjqbq2i1Xr5MEiKtWoOn2lwhRr1sE3j69KlapZJLZRBZdtFCZ9nl+bK26Eb0ovXC6dIy7J70EgqOOEyAWYKOEksw3Yb1KJ7VfccAABm+SURBVEFnWUf6ssLFhcWa6hoZJfXeu/8yFUcgwD0CK8vL9XV1BEG4Oru4Zx3vLYLO5jaE0Y1ofV2dmCTbWtuwLnJuWaP2TAnMzs0aKs6ThKjZ0YQBBplSPKgcdPYgOqxcGx4akktlElLc2dXJSoWoBATYJdB6+fLp0rKL1guYX8Mu2ERt0NkEihwe9N7pJQmRRqVeWlrKYTOoGgSOTsDlcpGEyFRbi1FcR4eXbgnobLqksszn8/nKdbqaqmqM9MqSJIqzRWBlefm68yolllRXVeEJgC2qKeuBzqbEkpNEv99PEiKVQjn2j8c5aQCVgsBRCDgcjrKSUq1Gi22bj4Itk7zQ2UyoZVbm+dbzBpuNJETlOh22FMuMIUqxRcDv98tlcq1ag299tpAeUA909gA47F8Kh8M2q+10aVnr5ctYnoN9vqgxPQJ+v1+lUJbrdCPDI+mVQK6sCEBns8KXQeHnW8/d3W5KLDHV1s7NzmVQA4qAQMYE4vH4lfZ2GSVVKZToLsgY41ELQmePSoyd/A02W1lJqdlkXlleZqdG1AICaRAYePhITJJSivJ4PGlkRxZ2CEBn2eF41FqePn16Tn92e+k5u/2oZZEfBDIjwOwNLiHFPT09mdWAUpkRgM5mxo2FUtNT0w02m4ySdly7jqGLLABFFQcS6O97oNVotRrtwODggRlxkX0C0Fn2maZf49bm5qXGRoIg6uvqsM9d+tyQ86gE3N1uCSmWkGKsEXNUdKzkh86ygjHzSlaWl8t1OpIQ1dfVYQPHzDmi5P4EAoGASqFEd8H+hHJ+BTqbc8SHNjAyPHJOf5YkRC6XC6t4HIoLGY5EYOzxWLlOp5Qr0Cd7JG7sZobOssszw9rC4fClxkZKLGmw2dCBkCFEFNtDwOl0yqUySiwZezy25yIS8kcAOps/1ge3FIvFrHX1BEGYTebZmW8PzoyrIHAoAa/XKyHFMkrae+fuoZmRIacEoLM5xXu0ypnBXqVfnLJYLEcridwgsJvAwOCgUq6QS2W+vv7dV3BWAALQ2QJAP6DJqcnJ5qZmuVTmcDimJicPyIlLIJCSALMKl5SizunPYnP7lIjynwidzT/zw1t0uVxlJaX6M3qs8XE4LOTYTcBut2+vwqXWoE92N5hCnkFnC0l/v7ZjsVh9XR2ziGIwGNwvG9JBYCcBZu0CCSk+pz8bHH+y8xKOC0sAOltY/vu2nhiBUFNdgw6EfTHhwv8SWFlebnY0EQSBG+Z/kXDof+gsh4Kx15SxfzzWqjUySup0OrGO4l4+SGEIBAIBrUZLEiKr1YrZLhy8K6CzHAzKLpOY0TkSUtz2deuuCzgBge8IBIPBSqORIAiHw4GNFLl5U0BnuRmXXVZ5791XKZRiknS73bsu4KToCfj9fo1KTRKijmvXMZmQs7cDdJazodllWCAQsNvtYpJ0OBwYhLALTRGfuLvdUopSKZTee/eLGAMPXIfO8iBIjInRjWh9XR1BEEq5AtuN8CZsuTE0Eok0NzUTBHFOfxbjt3LDmM1aobNs0sx1XWurq81NzRJSXK7T+f3+XDeH+rlJYGZmxmKxMFO0Z2ZmuGkkrNpJADq7kwY/jt3dbrlUJpfK3G53dCPKD6NhJUsEpiYn9Xq9mCQrjUasg8ES1JxXA53NOeJcNBAIBAwGAzNYcnpqOhdNoE6uEdja3Oy6cUOjUsulst47vfiK5VqADrAHOnsAHE5fevZs4aL1AkmI9Gf0Aw8fcdpWGJc1gcWFRZvVRhKi7Qm1/3icdX2oIK8EoLN5xc1uY1ubm51dnQRBSEix0+nEsB528XKnto31dYvFUnKqRKNS4zuVO3FJ3xLobPqsuJgzHo97PB6zyXS6tOxSYyNePXMxSFnYtLa62nun12wyqRRKp9MZmghlURmKFowAdLZg6FlseGN93el0SkixXCbv6OiIRCIsVo6qCkUgNBEym8wEQYhJEpvUFioKrLQLnWUFIycq6bpxg9nT1FRbOzs3ywmbYESmBOZm56qMlSQhOqc/C5HNlCJXykFnuRIJVuzo73twTn+25FRJdVUVVsZjBWlBKvH5fPozepIQXbRewAjZgoSA3Uahs+zyLHxtszPf3nbf0p/Ry2Vyp9NZLD22w/fpport3xsX6bWVwochUwtCE6FLjY3b4wo02t47dze3NjOtCeU4RAA6y6FgsGjKeOAbg8HArKsv8DfU5z+l3zlGf/i9FzpLvbV9+vlrLMLMT1XxeLz3zl2NSk0QhM1qw2NsfrDnpxXobH44F6CVcDh8pb1dRkkpscRutwuwx3ZthX7vlW1VvXFxF9+1lRfKuyuV0yfTU9NWq5UkRHKZvKenJx6Pc9pcGHdEAtDZIwLjW/aBh48MFefFJKlVa4aHhgS1WHhKkWUC9Plr21LbVMH9cMViseD4k3P6s2KSNBgMWHmL+yHLwELobAbQeFYkEokMPHyk1+tllLSmqrq/74EQZjQw3QX79Q+8c4wXvQf9fQ+qq6qkFGWoOD88NIRVunn20UrbXOhs2qh4nnFpaclmtTGTxy41NvJ7d5Ot2LaMvnOMvnc1dViYR93zn6a+yoHUWCzW7bpJiSUkIaqpqp6bneOAUTAhVwSgs7kiy8F6N9bXO7s6tWoNQRCVRuPA4CBf+wFvXHyhswdQngoccLGwl0ZHR2uqa5jFClydXZhXUthw5KF16GweIHOriadPn7q73eU6HUmI7LYvBx4+4t/KT0ynwXuvcItsGtYEx59caW+XUpRSrrjS3o55tGkwE0IW6KwQopiBD3Ozc81NzZRYQoklZpPZ7/fz6dmWec21X+dsBjhyX2R+fr6ttU0pVzCzD4LBYO7bRAtcIQCd5UokCmIH8wfs6dIySiy51Ni4vMKTEf680tnnW8+9Xm+5TkcQBLOXF5++0gpyXwquUeis4EJ6RIdWlpevtLef05+VS2X6M3qPxxMOh49YR96z80RnN9bX/X6/2WSWUpRWrWmw2TAZOu/3CicahM5yIgwFNyISiYw9HjNUnGdmfDocjkCAu++RtgfGMuMNCg5uHwOWlpbc3e5Ko1FMkts7DHW7+T3AYx83kZwmAehsmqCKItva6mpPTw8zZl4pVzTYbBxV2+H7L3T24KUM1lZoC5nnyG2sr7u73QmGLS0tU5OTebYBzXGNAHSWaxEpvD1rq6vXnVc1KnVZSalcKnN1dnFxCzLmefbgGV/UW/sOsM0B5lgsNjA4aDaZy0pKJaS4proGG8zkADMvq4TO8jJseTA6NBHq6elhtjFXKZTNTc0ej2d+fj4PTafVRGII7VYsdf57V7cXl8n9z9bm5ujoaLfrZk11DUEQ+jP6btdNn8+HyV25Z8+bFqCzvAlVoQz1+/12u11KUYyIdN24wZXJS4mVuvb2HjAqvDedVYjRjaj33n2r1SqXyU+XlunP6DuuXefQVxGrzqKybAhAZ7OhV0RlQxOhBptNSlEkISrX6VydXZxYuC/xQiyxLqKF3F7E671XcroKbTgc9nq9ZpOZ2cBCq9a4XC7ejIorotuWK65CZ7kSCV7YMTI80tzUbKg4L5fK5FKZzWrz+/2R734Kaf+Ni/T5T7fXnP38te2D/RY9yM7Erc3NSCSyuLDYdeMGM5tOo1LXVFV33biBN13ZoRV+aeis8GPMuocb6+tTk5MdHR16vX57ZKhGqz+jt9vt44Fv+DeFNw06zIJnZpNZf0avVqlklNRUW9t75+7iwqIg/U0DCbIcjQB09mi8kHsngY31dWZXc7VKRRIipVxhNpk7OjqCwaAAll6MbkT9fn/r5ctVxkoZJWWWfblovTA8NCQA73bGEce5JgCdzTVh4de/tbn59OlTV2eX/oyeEksIgpBLZaba2s6uzuD4E96tLL6xvj48NHTdebXSaJSQYoIgpBRVaTTedt+amZnBlFnh39A58BA6mwOoxVrl4sJif9+Dnp4eRqSYRWosFktHR0dPT4/H4xkPfMPBaVHLKytj/3jce6e3906v0+lkJnGJSbLKWOlyuXp6egYGBzlodrHeZbz0GzrLy7Bx3+joRjQYDLo6uwwGg1wqIwkRSYhUCuU5/dlLjY29d+6OPR5bWV4uyOPh1ubm4sLi6OhoT09Pg82mP6NnltEiCdH2lhPVNbfdt4LjT9D3yv3bjC8WQmf5Eim+2hmLxaYmJ/v7HjgcDkPFeZVCyWiuUq4o1+kuWi84nc7eO3dHR0dXlpejG9F0uj6P7f45GE08Ho9uROdm54aHhnrv3HU6nWaTuVynS2irSqE0VJxvaWnx3rsfmgjxrqPjYPdxlQsEoLNciEKx2BAOh4PjTzwej+OrSwaDoVynK9fpVAqljJLKKKlapTqnP2uxWFovX+523fTeuz88NBQcfzI3O7e0tMSMHmP+3S2zxxKXlpaW5mbngsHg8NCQx+NxdXY5HI76ujpG35l+DEbfy3U6Q8V5u+3Lnp6eQCCAboFiuQUL5Cd0tkDgi77ZhDguLiwGAgGv13ulvb3BZquprtFqtHKZXC6TSymK2XqAEUf9GT3zm6SziXS1SqWUKxjVZv7VarSVRqPVanU6nd5790eGR2ZmZhJNF6TXougjX4wAoLPFGHUu+xyLxdZWV2dmZsYej/X3PbjtvuVyuZxOp8PhsNu+tNu+vGi9kKSz9u9+HA6H0+nsunHjtvuW1+sdGR6ZmpxcW12NbkShp1yOeDHYBp0thigLzccknRWae/BHcASgs4ILaRE4BJ0tgiALykXorKDCCWdAAAQ4SAA6y8GgwCQQAAFBEYDOCiqccAYEQICDBKCzHAwKTAIBEBAUAeisoMIJZ0AABDhIADrLwaDAJBAAAUERgM4KKpxwBgRAgIMEoLMcDApMAgEQEBSBFzp74qOPT/39C0F5BmdAAARAgDME7Hb7sRMfffz7d3/nZn663e6j/3o8ntvuWxkUFECR3jt3t8kdHRrfi/R898N3LzKzv/fO3e24F1nQizni2fjedeOGhBQf83g8rZcvZ/zbYLP95tdvmE2mK+3tGVfCx4JX2tvNJvMff/9+S0tL29etfHQhY5uvtLerVSq1SlVsQW+9fPlKe/uJjz7+788+KyrfnU6nSqE8+Ze/FpXXzAfkSns7QRDVVVXZ+H4sy4frpaWlt998KzQRyrIePhYfD3xTVlLKR8uzt9nd7XZ1dmVfDx9rYDYN46Pl2djcdeOGVqPNpgb+lrXb7aOjo9nYn63OzszMvP3mW2P/eJyNETwtOzI8UnKqpDgX4e+6ceO68ypPA5el2ZRYYqg4n2UlvCvudDq1ag3vzGbF4IvWC36/P5uqWNDZd996e+zxWDZG8LQsdJangcvSbOhslgB5Vxw6W8iQQWcLSb9wbUNnC8e+MC0XXmenp6aPHz+eZedFYeBl3erw0NDfPvusOPsNrjuvXmlvzxohLys4XVpWrtPx0vQsjG5rbZPL5FlUwOOiFotl4OGjbBzItt9gaWlJrVJNTU5mYwRPy4YmQhaLJZ1dWnnq4AFm+777OSCDgC812GxtX7cK2MGUrnm9XofDkfKS4BO7XTeDwWA2bmars9m0jbIgAAIgUAwEoLPFEGX4CAIgUEgC0NlC0kfbIAACxUAAOlsMUYaPIAAChSQAnS0kfbQNAiBQDASgs8UQZfgIAiBQSAJH0NlYLHawpdGNaHQjenAenl491Hee+pW+2ZFIpDhHCtM0vba6Go/HD2UlyPs/uhE92PeV5eVi+3REIpFDb4akDOnqbO+duzXVNVardWV5OakK5nRxYdFqtVoslp6enpQZ+JvY7bpZZaxssNn249vc1PzBHz8oOVUyMjzCXzcPsLynp8dUW3voaG232917p/eAevh4KRAI1NfVmU3mA4IbiUQc3/3MznzLRx/3s3ns8ZjVajWbzMHxJynzuFyulpYWa129u9udMgO/EhcXFtta2w6YkhDdiDY3NZtN5qMu7pGWzvb09Hzwxw+mJicdDsfp0rK9I/OjG1GNSj06OjozM3Pio4+FJLVOp/PERx9PT03X19VJKWrvfdPW2vbJyZNVxsrjx4+/+rOfBwKBvXl4nTI7N2swGOZm54aHhiixZL+Hl2fPFn7z6zeam5p57WyS8aGJECWWLC0tDQwOnvjo45SD1ccD35z8y18vWi/s9wiSVCdfToPjTz744wdjj8f6+x7854k/7/0KaW5qVqtUW5ub01PTfz5xYnhoiC+u7Wen9979t998q6WlZb8McpncYDAsLiye+vsXB2TbW/xwnY3H4++/915NVTVN05FI5Pjx4x3XridVdN159fjx48zjXk11jcFgSMrA09NIJPLmv//WbrfTND0/P//G679Kel5bW1212+1rq6s0TQeDwR//8Efn9Gd56ux+ZtdUVTc7mpirVcZKr9e7N2c8HjfV1v75xIm998bezDxK0ao1H3/4EWPwqb9/0XXjxl7jv/jb5xaLZW8631PEJPnpyU8YL0589PHeqcZ/PnGiprqGyUCJJcJ4urJYLPs9KwwMDv7i1deYR/uOa9ePHz+e/jfr4Trr6+v/6b/8xOPxMED/+7PPEvQTd9KnJz9JJPbeuSujpAf36SQKcvzA3e3+6Y9/wiyJFo/HP/rThwRB7LQ5qUvuww/+ZKqt3ZmB78eRSOTdt95uvXyZccRut+9dHG9jff1SY6PH47lovZDIyXfHaZpeXlk5fvx44ouzvq6OedrY6Vq366ZKoRwPfOPz+Ziv251X+Xs8Nzv3+r/9sr6ujnHhnP7sXz8+keROg83GrD09MDgoo6TTU9NJGfh4Wl9Xt5/OalTqt998i3kFNR745o3Xf5X+erCH62yDzfbjH/5oPPANQ00pV/zm129srK8nIK6trr7x+q+UcgWTMjI8cuKjj8PhcCIDfw+qq6pe+9mrMzMzjAslp0refvOt/b5Ctv/Oev8PwrjbEiFjHtITS8Z03bjxnyf+nLjKHAQCAafTSdO02WQWks6ODI/88Ps/SEzqb25q/uJvnyf5/tGfPpRRUqfT+bfPPvvk5Mn97o2kUtw/7e978P1/+ueOjg7G1Pq6upN/+eteszUq9ff/6Z+lFCWYd6QH6OwH7//hs5P/xUBYmJ9/899/y6bOXrRe+Om//CSxY4JcKnvj9V/tfCO0vLLy+i//f+IxZ3ho6KM/fSgMna00Gn/x6msL8/MM3NIvTr392zf3+yxVGo2Jz+TeO5KnKcHxJz/+4Y8SOttx7fqJjz7e6cvW5iYjsjRN19fVJY535uHp8fDQ0A/+z/9NLBnj+OrS3z77bKcvMzMzb7z+K6arZGN9/YP3/yCYrxmv1/v9f/rnxNsts8n8ycmTO31njn0+3+/f/d0Pv/8DwTh+gM6+/957iS/a2ZlvWdZZp9P503/5SWIl77KS0t+/+x87X4XFYrG3f/smJZYw6L1e7xd/+3y/tyV7Q8XlFLvd/trPXk2sRnbyL39N+a1O0/TA4GDijywue3RU2+bn51//t18mtKbZ0ZS0Vc9t962Tf/krs5PSqb9/ISZJ7737R22Fm/lDE6FX/99Pmd55mqYvWi8kLQwYmgj94l9fS3TZX2psTHwKuOlR+laNjo7++Ic/SnxrVhqNe/+OcXe7q6uqnm89l1LUD7//A2G8AT6gf/a/P/ssASE0EfrNr99Ifz3Yw/sNFhcW33j9V22tbTRNb21uvv3bN/d2QVYaje++9TajrXa7PdGllX5cuZkzNBF6/d9+yXyrh8Ph48ePJz51Ow0OBAKJ/uud6cI4LispTfRYVVdVJTSX8W5mZsbr9Xo8nv6+B5RYUq7TCePzxnj36clPEt8rcqmM+RQkwhqPxz/84E+Jh77b7luJ90KJPDw9iMfjH7z/B7VKxdj/xed//+Lzvyf58rt33m2w2ZhEU21tgkNSNn6d1tfV7TeQoO3r1jde/xXz7svj8fziX197+vRpmt4drrM0TRsMBuaB2efzvfvW27NzszRNT09NN9hszPHTp08//vCj5ZUVmqY/O/lfCfppGsHlbCqFUkySNE27u93vv/ce42MwGGyw2ZaWlmiaHh0dLTlV0nHt+sDg4G33LbvdLrDJGt579y9aLzCjTWSUdHFhkabp6Ea023Uz6X2r2WRKUiIuRzYd29zd7j+f2H7/s7a6+vt3f9ff94Dh0O26ybz1cjqdDByaph1fXUq/wy6d1gub57rzKvM2YmV5+e0332L+TGEG2DBvLAiCSAxCsNvtwnjUMJvMidE1NE2vLC832GzMo8N398B/MN1EGpU65SjP/UKWls5GN6KGivNWq1V/Ru/r62fquu2+9erPfp6A29/3wOFwNNhsNdU1QhKacDisP6NvsNnKdbrECMEr7e2v/uznI8MjK8vLn5w8+Ztfv/G7d959+7dvHj9+XKNS78eav+kNNhszPDvRAT03O/fJyZMJIIxrDTabwMZ10TTd2dXZ9nVrdVVV4jEnNBE6+Ze/JsbSGgyGtq9bnU7npcZG/oY4peWXGhsvNTZWGo2JDgTmPTszkn9mZqamuqb3zt2Oa9fNJrMAXsmMDI+cLi2TUdJEcEeGR1792c8Tvc9+v595DXNOf/ZI/qals0wM3G73zufkSCTS3/dgp6T2fPeTMmC8Ttza3HR3u5knd8aRcDjs6+t/vvV8Y309OP5kemo6NBFifneOxOC11zuNX1tddXV2+Xy+nYnB8SdJb5nXVleF5348Hu/s6ty53enzrefB8SeJVxSLC4udXZ1erzeJxk5W/D3u6enZ+W0aj8d9Ph/zVx3zuOfq7BKM77Nzs8HxJ8HxJ8wfbTRNb25t9vc9SPhL03RoItTtupmIfpqR/R/9V1PxgZsXzgAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "id": "0b362ea3",
   "metadata": {},
   "source": [
    "## 纯度度量方法\n",
    "根据之前学习的机器学习算法，如果要求得子集内某一类别所占比最大或者最小，就需要使用求极值的方法。因此，接下来探讨使得纯度能够达到最大值和最小值的“纯度函数”。\n",
    "\n",
    "#### 纯度函数\n",
    "现在我们做一个函数图像，横轴表示某个类的占比，纵轴表示纯度值，然后我们根据上面提出的“纯度度量规则”来绘制函数图像：\n",
    "\n",
    "首先某个类达到最大值，或者最小值时，纯度达到最高值，然后，当某一个类的占比达到 0.5 时，纯度将取得最低值。由这两个条件，我们可以做出 a/b/c 三个点，最后用一条平滑的曲线将这三个点连接起来。如下所示：\n",
    "![image.png](attachment:image.png)\n",
    "如上图，我们做出了一条类似于抛物线的图像，你可以把它看做成“椭圆”的下半部分。当在 a 点时某一类的占比纯度最小，但是对于二元分类来说，一个类小，另一个类就会高，因此 a 点时的纯度也最高（与 b 恰好相反），当某类的纯度占比在 c 点时，对于二元分类来说，两个类占比相同，此时的纯度值最低，此时通过 c 点无法判断一个子集的所属类别。\n",
    "\n",
    "#### 纯度度量函数\n",
    "前面在学习线性回归算法时，我们学习了损失函数，它的目的是用来计算损失值，从而调整参数值，使其预测值不断逼近于误差最小，而纯度度量函数的要求正好与纯度函数的要求相反，因为纯度值越低意味着损失值越高，反之则越低。所以纯度度量函数所作出来的图像与纯度函数正好相反。如下图所示：\n",
    "![image-2.png](attachment:image-2.png)\n"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPcAAAAcCAIAAAAybb5FAAAOBklEQVR4Ae1b8Wcryxd//9NhrWtdUatWacW6Vj2rVn/YHyIqalVFXKKqIiKi+sP+EE9VVFU8UVEVVfFElCUqoq7nqqqqqIqIVSs/zJeed0/n7W5yc19ze/ve9+4P7czszJkzs5858zlnJr+wn88rzoDz5fE8j7ptt9tY3Ol0qPBnYooz8MsUZf0UNX4GPM+zbVvXdQAolUpUOZfLSZKkaVqxWKTCn4kpzsA0UX52dnZzc/NC5Q4ODl4o4Y03TyQSpmlGo1FeT9M0XdflS/7f0uVyeVoz4DjOn3/+yU/g1FBerVYNw+A3Yr6bydObm5u2bU9e/99V0/O8tbW1k5MTAGg2m6R8PB6n9A9PTAttkw+kUCikUqnJ64+veXNzo6pqr9ejas8o39nZkSRpfn7eMAzzy3N7e8sYW19f/1Lw1/9kMkkiGGPn5+eiKGJlvpwxput6JBLRNI0kVCoVxthwOJQkSZZl0zSXlpYURcFxep6nqmq9XvfJeVPZ4XBomqau66qqzs3NybIsSRKEPT7EOI5TKpWGw+HMzIxlWTioi4uLH76wT09Po9GoIAgA0Gq1XnO2S6WSoii+iXqhApVKRdd1srnPKO/3+2dnZ8gadV1Hfwg7a7ValUoFP2QmkwnuCLquFwqFUM06nU61WkWxgiCUSqXBYIA16/W6IAiyLG9sbFSrVVokzWbz/fv3VC1U7A8vTCQSiOpyufzFpfzrf6PRyGaziJjPnz/zqtq2jS5mPp8XBOH+/p4xtre3d35+zld7/XS323Uc5/3796IoDofDV1PAdV1Zlo+Ojqbeo67rZDueUY7dBH0jLO/1evhRfZ+NMYYLYPxarNfr2Pzi4oLGUywWFUUJpfKapo1aNtT8xyb6/b4sywCgaRrZDF6larUKAI1Ggy8k+319fQ0AOzs7jLG1tbVQCXzDV0g/PDwAwPLy8iv0RV3k83lN0yg7xUS9Xpckqd/vM8b+hnLP80ItEGPs7OwMAGRZDuoRjUa3traC5b6S2dlZAEin01juOM7s7Gy32/VVw2ytVhNFcdTb0CavX9hsNnHpZrPZ0N4TiUS5XOZfra+vUzYWi+F8rq6uUuEPTNRqNQDY3t5+NR36/f67d+8ODw+/U4+qquKn+RvKHccBgEgkEuw1n88DgI+OM8Y6nU7QYgWbM8Zs2wYASZI8z7u7u5ufnw9uC9RwOBwKgvDbb79RydtMbG1tIdB5V5JULZVKtGkyxtrt9u7uLr1FVNlPDxX+wEQulwOA1/SIKpUKACBt+x4Dt21bkiS/LUcghvr7i4uLABBcdqVSCQDG0xUcQLfbRUDs7u5Go1HHccYPTNf1UE3Gt3rlt57nLSws4C4X/FpXV1c8aIrFos+xk2VZEISXk/J+v99qtXB3Zow9Pj52Oh0+yDDJtCwtLY36lK7r4tHVmN316upqzNtQBdLptKIowVfdbrfVahGoXNftdDqUDdYfVYI8udPp/M2Wm6YJALy9wfaDwQABGrS+yWQylMaEdhyLxVDOJN7G1tYWLsRQUW+n8PLyEmne4uLiGL/N8zxd133IKxQKgiC8nJRrmpZMJgGg+vTE4/FsNitJUj6fn3CiXNcFgMXFRV/929tby7JUVc1kMolEQhTF4IFGpVLRNA0r5HI50zT5HcwnkM9qmhaLxfgSxtj9/X00GrUsSxCEVqtVLBYty0qn0+/evQt27Wvry6JhLZVKzyj3PE8URURh6N9QJqPr+uT+yvHxMUoO9Th9Ku7u7gLAGPPgeV4sFqMA5fjEd/VlcQ8MNRA4qEajYVmWaZqrq6u8pXh4eJjEpfHNjC9brVZxdJFIhPd8kA/43F9fW8qij+FTpt1uS5K0srJC6zCTyQiCwJ+55PN5SZJoUIZhAMCEsy0IwubmJumACdu2K5UKRTvI5qJFuL6+9tUfnxVFcWNj4xnlSMolSfLFxRzHsSwLACg+wMtVFCWRSPAlY9I7OzuI8klm4fDwEAA+ffo0RiDdAAnq7Cu5uroaI+flr3RdFwThqzTs5R0FJcTj8U6ngxESPl7RbrcB4OPHj4yxbrerqqrvZgEvCj/NyckJFfZ6vcjTw4d0G40GAGQyGaxGrgW1Qv8NedpwOKzX66PipP1+n6JM1JwxpqoqEjAA4KGFMSu8BNFqtebm5iZxCGVZtizrGeVjSDkyNv7qBaklSVIo+qkCJUqlkq7r2WwWWeyYzR2b4KhezllJgTEJdAEn+RsqZDAYqKp6fHwc+vZ7FyI08TyV8McYwxICyt3dHQC02+1QfZaXl32O4ObmZtAqY6gNg0Ku62Lc7OHhgWSiLXefnng8fnR0dHh4KMuypmk+Yn17ewsAQW6D04ho3N/fJ8lYQvYRNx9yRaiaLzE/P2+a5jPKkZQHwxrI2EaZ1UgkQvPo64DP1ut1TdMGgwH5oF/FRGi8mZc5xfQk+MY6wU4fHx9HHYqdnZ2NCjIG5bywBKM9p6enJAfNKobkGWPValUURXrLJzCCrKoqX4iHgL5VgVBDmWjIDcOgVq7rCoLw4cMHxlipVDIMA/0QpAm+u2j39/ehthyloQvHUyM8hiOPbmdnh9+4SAdfYmFhwTCMZ5QjKedPbbABLppRjqCqqkEHwtdTu91WVZUYNqr71VYHBwcAMJ4DXFxc+JjJqOz3YyymaY5a57ZtE630zcnUsxgE420bHvDVajXsK51Oj5pzRCFPkdEYCYLg23LRVCMhQZLDx9eRzyC5LxQKvGUEAP6sAFUCgFwuFzoVoij6/EBcdcRgDcPweRGhciKRyLMtb7VaABB6uovqjgrqGYYRdMz5/m5ubhYWFninAXe98Z4lY6xYLALAGD/1LXifqVRqcXGRnDN+4IwxRVGI6T48PCAzfgnu6/U63YPg+0Ijyn8IhOns7CzxhGg0ivSgVqtZlsVjGi300dHRcDjEYzukEz5jiZyHznoR5dVqlTRBqOCQXdcli4muJM+msIkkSaGXtC4vLwFgbW2NJJ+fnwOArutYgpsPdlQqleLxeJCDYE0ASKVSf9lyhFToWsfl69tuqPt0Ou1bc/SKMdZsNufm5oL2GM/Gg5yMb5tOpwVB4EveWrpcLs/OzgbD5Iwxz/MQBPzYEXmh50fjh9btdm3bRu+IF0itcL/ltxT0f2iNIT1wHOfw8LDdbluWRYhhjMXjcQC4vb2t1+vkZUmS5OMwGEkkg3V6egoAe3t7qMbV1dXMzAwA8N4qvtrd3ZVlmTZzUtt4eihLCdzGiYKThkRgEPT39/fFYvH29nZxcTF4XskYw7VaLBZ/wS1+fn4eV4/jOGg+e72e4zjHx8fIZDY2NprNJr8hok7Inn0Du76+3t/fR6IvCAK/3Hu9Xq1WQwd5dna20WiQ6jRITGiatrS05Ct8O9lWqyUIgmVZQU6fzWYVRQnGTE9OTkRRHGX4xwzNdV3HcXC/DUU5rihiCOfn54Ig8JsGeqK2bSPUqtUqfz6FjqbruqZp/vHHH6gJRnKxmud5uVxOURQfTdc0bX5+/tOnT7VaDSHkM/+MsZubG6wTHGChUAg9FVpbW8MzeLQgh4eHkiTx52u2bcuyXCwWcafa398PZaToOTQajV+CYWa8elGtVoOviBWRxrhcfEHZQqHAt+VtTLPZ5F+ZphmLxXzkD22hIAiTH2qQPq+WWFlZ8Q0kNMtjemNjwzTNf6zh58+fRzkquN/ilVLr6fHtGJubmzMzM7quW5YV3HwwzriwsODbscvlsmEY8aenUCgEbZzrujs7O/F4PJVK4WEIT4QYY71eLx6Ph0KQMYZnk0EbjxHMk5OTX3/9Nfn0+IBnmqaiKLqup9NpomTBicUQ+2AwePY+g5UmLFleXp56JAFX4X/sd5CqqiJJOz09tSyLt7WTTPUolIdGSHwCP3z4gARgeXkZgTgKeb6Gk2e3t7fx8JWaeJ6XSqUIxEGC6nmeLMu+C204TN4ykkBKiKL4+++/e56nKApSptDhRKNRlDMFlNfr9UgkMmZJkXKTJ9AuTl7/7dfEQ5Dz83NkxolEAp3FZDIZuglgIRFrxtgolCMpp8uewanAAyO07isrK9lsFol+sObkJdfX17u7u5eXl9RE13VRFPkrDB8/fqTL9+VymefZ1KpYLPJOM2MMSfkYE4ARIfTCo9HowcFBo9HgWTEKx2roAU8B5XheFVypNJJvTdzc3Lz+L1a+VclvrY++WrFYRNtWLpd5ZjyJtFEoz2QyAIC/wAqV02g0BEFAM5TL5VJPT5B+hLYdVYgciT46HlRTbB7j5b57IqEauq4rSRKFO8nRHDM5+NsiVGxlZSWfz1uWFSS96+vrFBicDso7nU4kErm7uxs1Kd9UHovFaPq+qeFbrpzP5/GXgZlMxuesT6h2EOV3d3cYFMcrzaPuqd/f3xNNHw6HJycnxCIm7DpYDQ89stmsbdurq6u6rvtAfH197Tu7GLWu0HP1PK/VamGwFV3PUTT46uqKqKzrukdHR0Ee0W63FUWhQ9npoJwxVqvVpvLr5lKptLKyEpzWf3uJYRj5fH4wGBiGgZFj/AZ7e3vBKA2V8BGVIMox9kJgCuWm32neXNctl8u2be/v7798zWxvb6dSKQzr0XD+sVi8cMFP3dRQji4z3U37x5O7t7f3+Pj4j5u/zYboIGIkanV1NZPJuK47ydEdP5wgyvm3//Z0uVwm0/vCsVxcXPiuP00T5S9U7j/c3HEcYsb5fD6ZTG5tbdHxylcH3u/3bdtOp9P4cy0Ke3+14c8KOAM/Uf4aSHh4eCBmjLcFfQHg8Up4nkf7OCaCTHS8hP/zt/8D5dnXa6ANqWwAAAAASUVORK5CYII="
    }
   },
   "cell_type": "markdown",
   "id": "884f2985",
   "metadata": {},
   "source": [
    "## 信息熵\n",
    "在理解“信息熵”这个词语前，我们应该理解什么是“信息”。信息是一个很抽象的概念，比如别人说的一段话就包含某些“信息”，或者我们所看到的一个新闻也包含“信息”，人们常常说信息很多，或者信息较少，但却很难说清楚信息到底有多少。比如一篇 10 万字的论文到底包含多少信息量？信息熵就是用来解决对信息的量化问题的。\n",
    "\n",
    "香农使用“信息熵”这一概念来量化“信息量”。信息的计算是非常复杂的，具有多重前提条件的信息，更是无法计算，但由于信息熵和热力熵紧密相关，所以信息熵可以在衰减的过程中被测定出来。\n",
    "\n",
    "## 理解信息熵\n",
    "```\n",
    "信息熵是用于衡量不确定性的指标，也就是离散随机事件出现的概率，简单地说“情况越混乱，信息熵就越大，反之则越小”。\n",
    "```\n",
    "如果一件事 100% 发生，那么这件事就是确定的事情，其信息熵无限接近于最小，但如果这件事具有随机性，比如抛硬币，其结果可能正面也可能反面，那么这件事就很不确定，此时的信息熵就无限接近于最大值。\n",
    "\n",
    "比如，封闭的房间一直不打扫，那么房间不可能越来越干净，只能不断的落灰和结下蜘蛛网，如果想要让它变得整洁、有序就需要外力介入去打扫房间。这个过程中趋向于混乱的房间其信息熵不断增大，而打扫后的房间，则趋向于信息熵最小。伟大数学家香农给出了信息熵的计算公式，如下所示：\n",
    "![image.png](attachment:image.png)\n",
    "其中 p 代表概率的意思，这里 “X” 表示进行信息熵计算的集合。在决策树分类算法中，我们可以按各个类别的占比（占比越高，该类别纯度越高）来理解，其中 N 表示类别数目，而 Pk 表示类别 K 在子集中的占比。理解了上述含义，再理解信息熵的计算过程就非常简单了，分为三次四则运算，即相乘、求和最后取反。"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "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"
    },
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "b0d9fc8c",
   "metadata": {},
   "source": [
    "## 信息熵公式计算\n",
    "下面我们举一个简单的例子，对上述信息熵计算公式进行简单的应用，在二元分类问题中，如果当前样本全部属于 k 类别，那么该类别在子集节点中的占比达到 100%（而另一个类别占比为 0），即 pk = 1，此时信息熵的计算公式如下：\n",
    "![image.png](attachment:image.png)\n",
    "关于对数函数的运算法则这里不再赘述，以 2 为底 1 的对数为 0，因此最终两个类别的信息熵求和结果为 0。信息熵为 0 说明子集内的类别一致“整齐有序”。由此也可以得知 pk=0.5 时候信息熵的取得最大值。下面根据上述信息，我们绘制信息熵的函数图像，如下所示：\n",
    "![image-2.png](attachment:image-2.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "b7b52bd3",
   "metadata": {},
   "source": [
    "## ID3算法—信息增益\n",
    "ID3（Iterative Dichotomiser 3，迭代二叉树3代）算法是决策树算法的其中一种，它是基于奥卡姆剃刀原理实现的，这个原理的核心思想就是“大道至简，用尽量少的东西去做更多的事情”。\n",
    "\n",
    "D3 算法的核心思想：越小型的决策树越优于大的决策树，也就是使用尽可能少的判别条件。ID3 算法使用了信息增益实现判别条件的选择，从香农的“信息论”中可以得知，ID3 算法选择信息增益最大的特征维度进行 if -else 判别。\n",
    "\n",
    "- （1）理解信息增益\n",
    "\n",
    "简单地说，信息增益是针对一个具体的特征而言的，某个特征的有无对于整个系统、集合的影响程度就可以用“信息增益”来描述。我们知道，经过一次 if-else 判别后，原来的类别集合就被被分裂成两个集合，而我们的目的是让其中一个集合的某一类别的“纯度”尽可能高，如果分裂后子集的纯度比原来集合的纯度要高，那就说明这是一次 if-else 划分是有效过的。通过比较使的“纯度”最高的那个划分条件，也就是我们要找的“最合适”的特征维度判别条件。\n",
    "\n",
    "- （2）信息增益公式\n",
    "\n",
    "那么如何计算信息增益值，这里我们可以采用信息熵来计算。我们通过比较划分前后集合的信息熵来判断，也就是做减法，用划分前集合的信息熵减去按特征维度属性划分后的信息熵，就可能够得到信息增益值。公式如下所示：\n",
    "![image.png](attachment:image.png)\n",
    "G(S,a) 表示集合 S 选择特征属性 t 来划分子集时的信息增益。H(x) 表示集合的信息熵。上述的“减数”看着有点复杂，下面重点讲解一下减数的含义：\n",
    "- 大写字母 K 表示：按特征维度 t 划分后，产生了几个子集的意思，比如划分后产生了 5 个子集吗，那么 K = 5。\n",
    "- 小写字母 k 表示：按特征维度 t 划分后，5 个子集中的某一个子集，k = 1 指的是从第一个子集开始求和计算。\n",
    "- |S| 与 |Sk| 表示：集合 S 中元素的个数，这里的||并不是绝对值符号，而 |Sk| 表示划分后，某个集合的元素个数。\n",
    "- |S| /|Sk| 表示：一个子集的元素个数在原集合的总元素个数中的占比，指该子集信息熵所占的权重，占比越大，权重就越高。\n",
    "\n",
    "最后，比较不同特征属性的信息增益，增益值越大，说明子集的纯度越高，分类的效果就越好，我们把效果最好的特征属性选为 if-else 的最佳判别条件。"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "id": "fc75b174",
   "metadata": {},
   "source": [
    "## 决策树算法原理\n",
    "决策树特征属性是 if -else 判别条件的关键所在，我们可以把这些特征属性看成一个集合，我们要选择的判别条件都来自于这个集合，通过分析与计算选择与待分类样本最合适的“判别条件”。\n",
    "![image.png](attachment:image.png)\n",
    "通过上述流程图可以得知，决策树算法通过判别条件从根节点开始分裂为子节点，子节点可以继续分裂，每一次分裂都相当于一次对分类结果的“提纯”，周而复始，从而达到分类的目的，在这个过程中，节点为“否”的不在分裂，判断为“是”的节点则继续分裂。那么你有没有考虑过决策树会在什么情况下“停止”分裂呢？下面列举了两种情况：\n",
    "\n",
    "- （1）子节点属于同一类别\n",
    "\n",
    "决策树算法的目的是为了完成有效的样本分类。当某个数据集集合分类完成，也就分类后的子节点集合都属于同一个类别，不可再分，此时代表着分类任务完成，分裂也就会终止。\n",
    "\n",
    "- （2）特征属性用完\n",
    "\n",
    "我们知道，决策树依赖特征属性作为判别条件，如果特征属性已经全部用上，自然也就无法继续进行节点分裂，此处可能就会出现两种情况：一种是分类任务完成，也就是子节点属于同一类别，还有另外一种情况就是分类还没有完成，比如，在判断为“是”的节点集合中，有 8 个正类 3 个负类，此时我们将采用占比最大的类作为当前节点的归属类。\n",
    "\n",
    "- （3）设置停止条件\n",
    "除上述情况外，我们也可以自己决定什么时候停止。比如在实际应用中我们可以在外部设置一些阈值，把决策树的深度，或者叶子节点的个数当做停止条件。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b6bd1a4",
   "metadata": {},
   "source": [
    "## 决策树剪枝策略\n",
    "决策树算法是机器学习中的经典算法。如果要解决分类问题，决策树算法再合适不过了。不过决策树算法并非至善至美，决策树分类算法最容易出现的问题就是“过拟合”。\n",
    "\n",
    "决策树出现过拟合的原因其实很简单，因为它注重细节。决策树会根据数据集各个维度的重要性来选择 if -else 分支，如果决策树将所有的特征属性都用完的情况下，那么过拟合现象就很容易出现。\n",
    "\n",
    "每个数据集都会有各种各样的属性维度，总会出现一些属性维度样本分类实际上并不存在关联关系的情况。因此，在理想情况下决策树算法应尽可能少地使用这些不相关属性，但理想终归是理想，在现实情况下很难实现。那么我们要如何解决这种过拟合问题呢？这时就要用到“剪枝策略”。\n",
    "\n",
    "“剪枝策略”这个名字非常的形象化，它是解决决策树算法过拟合问题的核心方法，也是决策树算法的重要组成部分。剪枝策略有很多种，我们根据剪枝操作触发时间的不同，可以将它们分成两种，一种称为预剪枝，另一种称为后剪枝。\n",
    "\n",
    "- （1）预剪枝\n",
    "\n",
    "在分支划分前就进行剪枝判断，如果判断结果是需要剪枝，则不进行该分支划分。\n",
    "\n",
    "- （2）后剪枝\n",
    "\n",
    "在分支划分之后，通常是决策树的各个判断分支已经形成后，才开始进行剪枝判断。\n",
    "\n",
    "\n",
    "如果剪枝后决策树模型在测试集验证上得到有效的提升，就判断其需要剪枝，否则不需要。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c74b39bc",
   "metadata": {},
   "source": [
    "## 决策树算法应用\n",
    "\n",
    "#### 决策树实现步骤\n",
    "1) 确定纯度指标\n",
    "\n",
    "确定纯度指标，用它来衡量不同“特征属性”所得到的纯度，并选取使得纯度取得最大值的“特征属性”作为的“判别条件”。\n",
    "\n",
    "2) 切分数据集\n",
    "\n",
    "通过特征属性做为“判别条件”对数据集集合进行切分。注意，使用过的“特征属性”不允许重复使用，该属性会从特征集合中删除。\n",
    "\n",
    "3) 获取正确分类\n",
    "\n",
    "选择特征集合内的特征属性，直至没有属性可供选择，或者是数据集样本已经完成分类为止。切记要选择占比最大的类别做为分类结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "0a972a91",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'> (36, 13) (36,)\n",
      "[1.374e+01 1.670e+00 2.250e+00 1.640e+01 1.180e+02 2.600e+00 2.900e+00\n",
      " 2.100e-01 1.620e+00 5.850e+00 9.200e-01 3.200e+00 1.060e+03]\n",
      "0\n",
      "0.9166666666666666\n",
      "[1]\n",
      "分类结果：['class_1']\n"
     ]
    }
   ],
   "source": [
    "# 加载红酒数据集\n",
    "from sklearn.datasets import load_wine\n",
    "\n",
    "# 导入决策树分类器\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "# 导入分割数据集的方法\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# 导入科学计算包\n",
    "import numpy as np\n",
    "\n",
    "# 加载红酒数据集\n",
    "wine_dataset = load_wine()\n",
    "\n",
    "# 分割训练集与测试集\n",
    "X_train,X_test,y_train,y_test = train_test_split(wine_dataset['data'],wine_dataset['target'],test_size=0.2,random_state=0)\n",
    "\n",
    "print(type(X_test), X_test.shape, y_test.shape)\n",
    "print(X_test[0])\n",
    "print(y_test[0])\n",
    "\n",
    "# 创建决策时分类器--ID3算法\n",
    "tree_model = DecisionTreeClassifier(criterion=\"entropy\")\n",
    "\n",
    "# 喂入数据\n",
    "tree_model.fit(X_train,y_train)\n",
    "\n",
    "# 打印模型评分\n",
    "print(tree_model.score(X_test,y_test))\n",
    "\n",
    "# 给出一组数据预测分类\n",
    "X_wine_test = np.array([[11.8,4.39,2.39,29,82,2.86,3.53,0.21,2.85,2.8,.75,3.78,490]])\n",
    "predict_result = tree_model.predict(X_wine_test)\n",
    "print(predict_result)\n",
    "print(\"分类结果：{}\".format(wine_dataset['target_names'][predict_result]))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
